Panoramica dei progetti

Un progetto in Android Studio for Platform (ASfP) contiene tutto ciò che definisce lo spazio di lavoro per la codebase AOSP, dal codice sorgente e asset al codice di test e alle configurazioni di build.

Quando avvii un nuovo progetto, ASfP crea la struttura necessaria per tutti i file e li rende visibili nella finestra Progetto. Per aprire la finestra, seleziona Visualizza > Finestre degli strumenti > Progetto.

Questa pagina fornisce una panoramica dei componenti chiave all'interno della configurazione del progetto.

Configurazione del progetto (.asfp-project)

La configurazione del progetto ASfP è controllata dal file .asfp-project, che si trova nella directory root del progetto. Questo file YAML è essenziale per controllare cosa viene inserito nel progetto e come funzionano le funzionalità critiche. Puoi aprirlo tramite il menu principale utilizzando ASfP > Progetto > Apri configurazione o trovandolo nella visualizzazione del progetto.

Al momento della creazione del progetto, viene creata una configurazione in base alle specifiche fornite dall'utente. Tutti i parametri della configurazione possono essere modificati in qualsiasi momento per modificare le specifiche del progetto, ad esempio per aggiornare le directory o i moduli del progetto, dopodiché è necessaria una sincronizzazione per riflettere le modifiche.

Parametri di configurazione

Di seguito sono riportati i parametri chiave che puoi configurare nel file .asfp-project:

repo

Obbligatorio

Un percorso assoluto alla root del repository della piattaforma Android.

repo: /path/to/aosp

lunch

Obbligatorio

Il target di lunch che verrà accoppiato al tuo progetto. Viene utilizzato per tutte le azioni di build di Soong, incluse le configurazioni di sincronizzazione ed esecuzione pertinenti.

lunch: your-product-variant-userdebug

directories

Facoltativo

Directory da includere o escludere dal progetto. Questi devono essere percorsi relativi rispetto alla repo root.

directories:
  include:
    -   frameworks/base
    -   packages/apps/Settings
  exclude:
    -   vendor
    -   out/soong

modules

Facoltativo

Moduli da includere o escludere dal progetto. Questi funzionano in combinazione con le directories specificate in precedenza. Sono supportati sia i nomi completi sia quelli abbreviati.

modules:
  include:
    -   SystemUIGoogle
    -   frameworks/base/services/core/java:services
  exclude:
    -   UnusedModule

test_sources

Facoltativo

ASfP tenta di distinguere tra le origini di produzione e di test, ma in alcuni casi potrebbe essere necessario indicare esplicitamente le origini di test. Forniscili come percorsi relativi rispetto alla root repo. Tutte le root di origine che sono sottodirectory dei percorsi specificati verranno contrassegnate come test.

test_sources:
  -   cts/tests/tests/example
  -   tests/mytests

other_languages

Facoltativo

Il supporto Java è incluso per impostazione predefinita. Puoi aggiungere il supporto per altre lingue. ASfP supporta anche C/C++ (cpp) e Rust (rust).

other_languages:
  -   cpp
  -   rust

build_config

Facoltativo

Questo parametro consente di aggiungere flag personalizzati o variabili di ambiente agli eventi di build di Soong. Questa configurazione si applica a tutte le azioni nell'IDE che comportano una build di Soong, incluse le configurazioni di sincronizzazione ed esecuzione.

build_config:
  flags:
    -   -j64
  env:
    SOONG_ALLOW_MISSING_DEPENDENCIES: true
    MY_CUSTOM_VAR: value