Un projet dans Android Studio for Platform (ASfP) contient tout ce qui définit votre espace de travail pour votre codebase AOSP, du code source et des composants au code de test et aux configurations de compilation.
Lorsque vous démarrez un nouveau projet, ASfP crée la structure nécessaire pour tous vos fichiers et les rend visibles dans la fenêtre Project (Projet). Pour ouvrir la fenêtre, sélectionnez View > Tool Windows > Project (Affichage > Fenêtres d'outils > Projet).
Cette page présente les principaux composants de la configuration de votre projet.
Configuration du projet (.asfp-project
)
La configuration du projet ASfP est contrôlée par le fichier .asfp-project
, situé à la racine du répertoire de votre projet. Ce fichier YAML est essentiel pour contrôler ce qui est inclus dans votre projet et le fonctionnement des fonctionnalités critiques. Vous pouvez l'ouvrir depuis le menu principal en utilisant ASfP > Project > Open Config (ASfP > Projet > Ouvrir la configuration) ou en le recherchant dans la vue du projet.
Lors de la création d'un projet, une configuration est créée en fonction des spécifications fournies par l'utilisateur. Tous les paramètres de la configuration peuvent être modifiés à tout moment pour modifier les spécifications du projet (par exemple, pour mettre à jour les répertoires ou les modules du projet). Une synchronisation est ensuite nécessaire pour que les modifications soient prises en compte.
Paramètres de configuration
Voici les principaux paramètres que vous pouvez configurer dans le fichier .asfp-project
:
repo
Obligatoire
Chemin absolu vers la racine de votre dépôt de plate-forme Android.
repo: /path/to/aosp
lunch
Obligatoire
Cible de lancement qui sera associée à votre projet. Il est utilisé pour toutes les actions de compilation Soong, y compris la synchronisation et les configurations d'exécution pertinentes.
lunch: your-product-variant-userdebug
directories
Facultatif
Répertoires à inclure dans votre projet ou à en exclure. Il doit s'agir de chemins d'accès relatifs par rapport à la racine repo
.
directories:
include:
- frameworks/base
- packages/apps/Settings
exclude:
- vendor
- out/soong
modules
Facultatif
Modules à inclure dans votre projet ou à en exclure. Elles fonctionnent conjointement avec le directories
spécifié précédemment. Les noms complets et abrégés sont acceptés.
modules:
include:
- SystemUIGoogle
- frameworks/base/services/core/java:services
exclude:
- UnusedModule
test_sources
Facultatif
ASfP tente de faire la différence entre les sources de production et de test, mais dans certains cas, vous devrez peut-être indiquer explicitement les sources de test. Indiquez-les sous forme de chemins d'accès relatifs par rapport à la racine repo
. Toutes les racines sources qui sont des sous-répertoires des chemins spécifiés seront marquées comme des tests.
test_sources:
- cts/tests/tests/example
- tests/mytests
other_languages
Facultatif
La compatibilité avec Java est incluse par défaut. Vous pouvez ajouter la prise en charge d'autres langues.
ASfP est également compatible avec C/C++ (cpp
) et Rust (rust
).
other_languages:
- cpp
- rust
build_config
Facultatif
Ce paramètre vous permet d'ajouter des indicateurs ou des variables d'environnement personnalisés aux événements de compilation Soong. Cette configuration s'applique à toutes les actions de l'IDE qui entraînent une compilation Soong, y compris les configurations de synchronisation et d'exécution.
build_config:
flags:
- -j64
env:
SOONG_ALLOW_MISSING_DEPENDENCIES: true
MY_CUSTOM_VAR: value