Projekt w Android Studio na potrzeby platformy (ASfP) zawiera wszystko, co definiuje obszar roboczy dla bazy kodu AOSP, od kodu źródłowego i zasobów po kod testowy i konfiguracje kompilacji.
Gdy rozpoczniesz nowy projekt, ASfP utworzy niezbędną strukturę wszystkich plików i wyświetli je w oknie Project (Projekt). Aby otworzyć okno, wybierz Widok > Okna narzędzi > Projekt.
Na tej stronie znajdziesz omówienie kluczowych komponentów w konfiguracji projektu.
Konfiguracja projektu (.asfp-project
)
Konfiguracja projektu ASfP jest kontrolowana przez plik .asfp-project
znajdujący się w katalogu głównym projektu. Ten plik YAML jest niezbędny do kontrolowania zawartości projektu i działania najważniejszych funkcji. Możesz go otworzyć w menu głównym, klikając ASfP > Projekt > Otwórz konfigurację, lub znaleźć go w widoku projektu.
Po utworzeniu projektu na podstawie specyfikacji podanych przez użytkownika tworzona jest konfiguracja. Wszystkie parametry w konfiguracji można w dowolnym momencie edytować, aby modyfikować specyfikacje projektu, np. aktualizować katalogi lub moduły projektu. Po wprowadzeniu zmian wymagana jest synchronizacja, aby zostały one odzwierciedlone.
Parametry konfiguracji
Oto najważniejsze parametry, które możesz skonfigurować w pliku .asfp-project
:
repo
Wymagany
Ścieżka bezwzględna do katalogu głównego repozytorium platformy Android.
repo: /path/to/aosp
lunch
Wymagany
Cel uruchomienia, który zostanie powiązany z Twoim projektem. Jest on używany we wszystkich działaniach kompilacji Soong, w tym w synchronizacji i odpowiednich konfiguracjach uruchamiania.
lunch: your-product-variant-userdebug
directories
Opcjonalny
Katalogi, które mają być uwzględnione w projekcie lub z niego wykluczone. Powinny to być ścieżki względne względem katalogu głównego repo
.
directories:
include:
- frameworks/base
- packages/apps/Settings
exclude:
- vendor
- out/soong
modules
Opcjonalny
moduły, które chcesz uwzględnić w projekcie lub z niego wykluczyć; Działają one w połączeniu z wcześniej określonym parametrem directories
. Obsługiwane są zarówno pełne, jak i skrócone nazwy.
modules:
include:
- SystemUIGoogle
- frameworks/base/services/core/java:services
exclude:
- UnusedModule
test_sources
Opcjonalny
ASfP próbuje odróżnić źródła produkcyjne od testowych, ale w niektórych przypadkach może być konieczne wyraźne oznaczenie źródeł testowych. Podaj je jako ścieżki względne względem katalogu głównego repo
. Wszystkie katalogi główne źródeł, które są podkatalogami określonych ścieżek, zostaną oznaczone jako testowe.
test_sources:
- cts/tests/tests/example
- tests/mytests
other_languages
Opcjonalny
Obsługa języka Java jest domyślnie włączona. Możesz dodać obsługę innych języków.
ASfP obsługuje też języki C/C++ (cpp
) i Rust (rust
).
other_languages:
- cpp
- rust
build_config
Opcjonalny
Ten parametr umożliwia dodawanie niestandardowych flag lub zmiennych środowiskowych do zdarzeń kompilacji Soong. Ta konfiguracja ma zastosowanie do wszystkich działań w IDE, które powodują kompilację Soong, w tym do konfiguracji synchronizacji i uruchamiania.
build_config:
flags:
- -j64
env:
SOONG_ALLOW_MISSING_DEPENDENCIES: true
MY_CUSTOM_VAR: value