Présentation des projets

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Un projet dans Android Studio contient tout ce qui définit votre espace de travail pour une application, du code source et des composants, au code de test et aux configurations de compilation. Lorsque vous démarrez un nouveau projet, Android Studio crée la structure nécessaire pour tous vos fichiers et les rend visibles dans la fenêtre Project (Projet) à gauche de l'IDE. Pour y accéder, cliquez sur View > Tool Windows > Project (Vue > Fenêtres d'outil > Projet). Cette page présente les principaux composants de votre projet.

Modules

Un module est un ensemble de fichiers sources et de paramètres de compilation qui vous permet de diviser votre projet en unités discrètes de fonctionnalité. Votre projet peut avoir un ou plusieurs modules, et un module peut utiliser un autre module comme dépendance. Vous pouvez compiler, tester et déboguer chaque module indépendamment.

Des modules supplémentaires sont souvent utiles pour créer des bibliothèques de code dans votre propre projet, ou lorsque vous souhaitez créer différents ensembles de code et de ressources pour différents types d'appareils, tels que les téléphones et les accessoires connectés, tout en conservant tous les fichiers dans le même projet et en partageant du code.

Ajoutez un module à votre projet en cliquant sur File > New > New Module (Fichier > Nouveau > Nouveau module).

Android Studio propose plusieurs types de modules distincts :

Module d'application Android
Fournit un conteneur pour le code source, les fichiers de ressources et les paramètres de votre application, tels que le fichier de compilation au niveau du module et le fichier manifeste Android. Lorsque vous créez un projet, le nom du module par défaut est "app".

Dans la fenêtre Create New Module (Créer un module), Android Studio propose les types de modules d'application suivants :

  • Module pour téléphone et tablette
  • Module Wear OS
  • Module Android TV
  • Module Glass

Chacun fournit des fichiers essentiels et des modèles de code adaptés au type d'appareil ou d'application correspondant.

Pour plus d'informations sur l'ajout d'un module, consultez Ajouter un module pour un nouvel appareil.

Module de fonctionnalité
Représente une fonctionnalité modularisée de votre application pouvant bénéficier de Play Feature Delivery. Par exemple, grâce aux modules de fonctionnalités, vous pouvez proposer à vos utilisateurs certaines fonctionnalités de votre application à la demande ou sous forme d'expériences instantanées via Google Play Instant.

Pour en savoir plus, consultez Ajouter la compatibilité avec Play Feature Delivery.

Module de bibliothèque
Fournit un conteneur pour votre code réutilisable, que vous pouvez utiliser comme dépendance dans d'autres modules d'application ou importer dans d'autres projets. Structurellement, un module de bibliothèque est identique à un module d'application, mais lorsqu'il est compilé, il crée un fichier d'archive de code au lieu d'un APK. Il ne peut donc pas être installé sur un appareil.

Dans la fenêtre Create New Module, Android Studio propose les modules de bibliothèque suivants :

  • Bibliothèque Android : ce type de bibliothèque peut contenir tous les types de fichiers compatibles avec un projet Android, y compris le code source, les ressources et les fichiers manifestes. Le résultat de la compilation est un fichier d'archive Android (AAR) que vous pouvez ajouter en tant que dépendance pour vos modules d'application Android.
  • Bibliothèque Java : ce type de bibliothèque ne peut contenir que des fichiers sources Java. Le résultat de la compilation est un fichier d'archive Java (JAR) que vous pouvez ajouter en tant que dépendance pour vos modules d'application Android ou d'autres projets Java.
Module Google Cloud
Fournit un conteneur pour votre code de backend Google Cloud. Ce module dispose du code et des dépendances requis pour un backend Java App Engine qui utilise un protocole HTTP simple, Cloud Endpoints et Cloud Messaging pour se connecter à votre application. Vous pouvez développer votre backend pour fournir les services cloud dont votre application a besoin.

Utiliser Android Studio pour développer votre module Google Cloud vous permet de gérer le code de l'application et le code du backend dans le même projet. Vous pouvez également exécuter et tester votre code de backend localement, et utiliser Android Studio pour déployer votre module Google Cloud.

Pour en savoir plus sur l'exécution et le déploiement d'un module Google Cloud, consultez Exécuter, tester et déployer le backend.

Certains utilisateurs appellent également les modules des sous-projets, ce qui n'est pas un problème, car Gradle désigne également les modules par le terme "projets". Par exemple, lorsque vous créez un module de bibliothèque et que vous souhaitez l'ajouter en tant que dépendance à votre module d'application Android, vous devez le déclarer comme suit :

Groovy

dependencies {
    implementation project(':my-library-module')
}

Kotlin

dependencies {
    implementation(project(":my-library-module"))
}

Fichiers de projet

Par défaut, Android Studio affiche les fichiers de votre projet dans la vue Android. Cette vue ne reflète pas la hiérarchie réelle des fichiers sur le disque, mais est organisée par modules et par types de fichiers pour simplifier la navigation entre les fichiers sources clés de votre projet, masquant certains fichiers ou répertoires rarement utilisés. Voici quelques-unes des modifications structurelles apportées à la structure sur disque :

  • Affiche tous les fichiers de configuration associés à la compilation d'un projet dans un groupe Script Gradle de premier niveau.
  • Affiche tous les fichiers manifestes de chaque module dans un groupe au niveau du module (lorsque vous disposez de fichiers manifestes différents pour chaque type de produit et type de compilation).
  • Affiche tous les autres fichiers de ressources dans un seul groupe, plutôt que dans des dossiers séparés par qualificateur de ressource. Par exemple, toutes les versions de densité de votre icône de lanceur sont visibles côte à côte.

Dans chaque module d'application Android, les fichiers sont répartis dans les groupes suivants :

manifests
Contient le fichier AndroidManifest.xml.
java
Contient les fichiers de code source Java, séparés par des noms de packages, y compris le code de test JUnit.
res
Contient toutes les ressources sans code, telles que les mises en page XML, les chaînes d'UI et les images bitmap, divisées en sous-répertoires correspondants. Pour en savoir plus sur tous les types de ressources possibles, consultez Fournir des ressources.

Vue du projet Android

Pour afficher la structure de fichiers réelle du projet, y compris tous les fichiers masqués dans la vue Android, sélectionnez Projet dans le menu déroulant en haut de la fenêtre Projet.

La vue Projet affiche beaucoup plus de fichiers et de répertoires. Voici les plus importants :

module-name/
build/
Contient les résultats de la compilation.
libs/
Contient des bibliothèques privées.
src/
Contient tous les fichiers de code et de ressource du module dans les sous-répertoires suivants :
androidTest/
Contient du code pour les tests d'instrumentation exécutés sur un appareil Android. Pour en savoir plus, consultez la documentation Android Test.
main/
Contient les fichiers d'ensemble de source "main" : le code et les ressources Android partagés par toutes les variantes de compilation (les fichiers d'autres variantes de compilation se trouvent dans des répertoires frères, tels que src/debug/ pour le type de version de débogage).
AndroidManifest.xml
Décrit la nature de l'application et chacun de ses composants. Pour en savoir plus, consultez la documentation AndroidManifest.xml.
java/
Contient des sources de code Java.
jni/
Contient du code natif utilisant Java Native Interface (JNI). Pour en savoir plus, consultez la documentation NDK Android.
gen/
Contient les fichiers Java générés par Android Studio, tels que votre fichier R.java et les interfaces créées à partir de fichiers AIDL.
res/
Contient les ressources d'application, telles que les fichiers drawables, les fichiers de mise en page et la chaîne d'UI. Pour en savoir plus, consultez Ressources d'applications.
assets/
Contient un fichier qui doit être compilé dans un fichier .apk tel quel. Vous pouvez parcourir ce répertoire de la même manière qu'un système de fichiers classique à l'aide d'URI, et lire les fichiers comme un flux d'octets à l'aide de AssetManager . Par exemple, il s'agit d'un bon emplacement pour les textures et les données de jeu.
test/
Contient du code pour les tests locaux exécutés sur votre JVM hôte.
build.gradle (module)
Cela définit les configurations de compilation spécifiques au module.
build.gradle (projet)
Cela définit votre configuration de compilation qui s'applique à tous les modules. Ce fichier fait partie intégrante du projet. Vous devez donc le conserver dans le contrôle des révisions avec tout autre code source.

Pour en savoir plus sur les autres fichiers de compilation, consultez Configurer votre compilation.

Paramètres de la structure du projet

Pour modifier les différents paramètres de votre projet Android Studio, ouvrez la boîte de dialogue Project Structure (Structure du projet) en cliquant sur File > Project Structure (Fichier > Structure du projet). Elle contient les sections suivantes :

  • SDK Location (Emplacement du SDK) : définit l'emplacement du JDK, du SDK Android et du NDK Android utilisés par votre projet.
  • Project (Projet) : définit la version de Gradle et du plug-in Android pour Gradle, ainsi que le nom de l'emplacement du dépôt.
  • Modules : vous permet de modifier les configurations de compilation spécifiques à un module, y compris le SDK cible et minimal, la signature d'application et les dépendances de la bibliothèque. Consultez la section Modules ci-dessous.

Modules

La section des paramètres Modules vous permet de modifier les options de configuration pour chacun des modules de votre projet. La page des paramètres de chaque module est divisée en onglets :

  • Properties (Propriétés) : spécifie les versions du SDK et des outils de compilation à utiliser pour compiler le module.
  • Signing (Signature) : spécifie le certificat à utiliser pour signer votre application.
  • Flavors (Profil) : permet de créer plusieurs profils de compilation, où chaque profil spécifie un ensemble de paramètres de configuration, tels que la version minimale et la version cible du SDK du module, le code de version et le nom de la version. Par exemple, vous pouvez définir un profil avec un SDK minimal de 15 et un SDK cible de 21, et un autre type avec un SDK minimal de 19 et un SDK cible de 23.
  • Build Types (Types de compilation) : vous permet de créer et de modifier des configurations de compilation, comme décrit dans Configurer des compilations Gradle. Par défaut, chaque module dispose de types de compilation debug et release, mais vous pouvez en définir d'autres si nécessaire.
  • Dependencies (Dépendances) : liste les dépendances de bibliothèque, de fichier et de module pour ce module. Vous pouvez ajouter, modifier et supprimer des dépendances à partir de ce volet. Pour en savoir plus sur les dépendances de module, consultez Configurer des compilations Gradle.