Projektübersicht

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