Ein Projekt in Android Studio for Platform (ASfP) enthält alles, was Ihren Arbeitsbereich für Ihre AOSP-Codebasis definiert, vom Quellcode und den Assets bis hin zu Testcode und Build-Konfigurationen.
Wenn Sie ein neues Projekt starten, erstellt ASfP die erforderliche Struktur für alle Ihre Dateien und macht sie im Fenster Project sichtbar. Wählen Sie zum Öffnen des Fensters View > Tool Windows > Project (Ansicht > Tool-Fenster > Projekt) aus.
Auf dieser Seite finden Sie einen Überblick über die wichtigsten Komponenten in Ihrer Projektkonfiguration.
Projektkonfiguration (.asfp-project
)
Die ASfP-Projektkonfiguration wird über die Datei .asfp-project
gesteuert, die sich im Stammverzeichnis Ihres Projekts befindet. Diese YAML-Datei ist wichtig, um zu steuern, was in Ihr Projekt aufgenommen wird und wie wichtige Funktionen funktionieren. Sie können sie über das Hauptmenü mit ASfP > Project > Open Config öffnen oder in der Projektansicht suchen.
Beim Erstellen eines Projekts wird eine Konfiguration basierend auf den vom Nutzer bereitgestellten Spezifikationen erstellt. Alle Parameter in der Konfiguration können jederzeit bearbeitet werden, um die Projektspezifikationen zu ändern, z. B. um Projektverzeichnisse oder ‑module zu aktualisieren. Danach ist eine Synchronisierung erforderlich, damit die Änderungen übernommen werden.
Konfigurationsparameter
Im Folgenden finden Sie die wichtigsten Parameter, die Sie in der .asfp-project
-Datei konfigurieren können:
repo
Erforderlich
Ein absoluter Pfad zum Stammverzeichnis Ihres Android-Plattform-Repositorys.
repo: /path/to/aosp
lunch
Erforderlich
Das Ziel für das Mittagessen, das mit Ihrem Projekt verknüpft wird. Dies wird für alle Soong-Build-Aktionen verwendet, einschließlich Synchronisierung und relevanter Ausführungskonfigurationen.
lunch: your-product-variant-userdebug
directories
Optional
Verzeichnisse, die in Ihr Projekt einbezogen oder daraus ausgeschlossen werden sollen. Dies sollten relative Pfade in Bezug auf den repo
-Stamm sein.
directories:
include:
- frameworks/base
- packages/apps/Settings
exclude:
- vendor
- out/soong
modules
Optional
Module, die in Ihr Projekt einbezogen oder daraus ausgeschlossen werden sollen. Sie funktionieren in Verbindung mit dem zuvor angegebenen directories
. Sowohl vollständige als auch abgekürzte Namen werden unterstützt.
modules:
include:
- SystemUIGoogle
- frameworks/base/services/core/java:services
exclude:
- UnusedModule
test_sources
Optional
ASfP versucht, zwischen Produktions- und Testquellen zu unterscheiden. In einigen Fällen müssen Sie Testquellen jedoch explizit angeben. Geben Sie diese als relative Pfade in Bezug auf das repo
-Stammverzeichnis an. Alle Quellstammverzeichnisse, die Unterverzeichnisse der angegebenen Pfade sind, werden als Test markiert.
test_sources:
- cts/tests/tests/example
- tests/mytests
other_languages
Optional
Die Java-Unterstützung ist standardmäßig enthalten. Sie können Unterstützung für andere Sprachen hinzufügen.
ASfP unterstützt auch C/C++ (cpp
) und Rust (rust
).
other_languages:
- cpp
- rust
build_config
Optional
Mit diesem Parameter können Sie benutzerdefinierte Flags oder Umgebungsvariablen zu Soong-Build-Ereignissen hinzufügen. Diese Konfiguration gilt für alle Aktionen in der IDE, die zu einem Soong-Build führen, einschließlich Synchronisierungs- und Ausführungskonfigurationen.
build_config:
flags:
- -j64
env:
SOONG_ALLOW_MISSING_DEPENDENCIES: true
MY_CUSTOM_VAR: value