Présentation des projets

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