Panoramica dei progetti

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