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