Un progetto in Android Studio for Platform (ASfP) contiene tutto ciò che definisce il tuo spazio di lavoro per il codebase AOSP, dal codice sorgente e dagli asset al codice di test e alle configurazioni di build.
Quando avvii un nuovo progetto, ASfP crea la struttura necessaria per tutti i tuoi 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 progetto (.asfp-project)
La configurazione del progetto ASfP è controllata dal file .asfp-project,
che si trova nella radice della directory 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 nella 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 radice del repository della piattaforma Android.
repo: /path/to/aosp
lunch
Obbligatorio
Il pranzo di destinazione che verrà abbinato al tuo progetto. Viene utilizzato per tutte le azioni di build di Soong, inclusa la sincronizzazione e le configurazioni di esecuzione pertinenti.
lunch: your-product-variant-userdebug
directories
Facoltativo
Le directory da includere o escludere dal progetto. Questi devono essere
percorsi relativi rispetto alla radice repo.
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 directories specificato in precedenza. Sono supportati sia i nomi completi che quelli abbreviati.
modules:
include:
- SystemUIGoogle
- frameworks/base/services/core/java:services
exclude:
- UnusedModule
test_sources
Facoltativo
ASfP tenta di distinguere tra fonti di produzione e di test, ma in alcuni
casi potrebbe essere necessario indicare esplicitamente le fonti di test. Forniscili come
percorsi relativi rispetto alla radice repo. Tutte le radici 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 di 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 ti 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 compilazione Soong, incluse le configurazioni di sincronizzazione ed esecuzione.
build_config:
flags:
- -j64
env:
SOONG_ALLOW_MISSING_DEPENDENCIES: true
MY_CUSTOM_VAR: value