>> Technologie Électronique >  >> Téléphones portables et accessoires >> Téléphones Android

Fichiers & structure de dossiers essentiels d'un projet Android

Comprendre la structure d'un projet Android est fondamental pour un développement efficace. Voici la répartition des fichiers et répertoires critiques dans un projet moderne basé sur Gradle.

Configuration au niveau racine

  • settings.gradle(.kts) : Inclusion projets, gestion plugins, définition dépôts
  • build.gradle(.kts) [Projet] : Dépendances buildscript (AGP, Kotlin), dépôts allprojects
  • gradle.properties : Arguments JVM, constantes versions, feature flags
  • gradle/wrapper/gradle-wrapper.properties : Verrouillage version Gradle
  • .gitignore : Exclut build/, .gradle/, local.properties, *.iml

Module App (généralement app/)

Manifeste & Cœur

  • src/main/AndroidManifest.xml : Permissions, composants, intent-filters, métadonnées
  • src/main/java/ ou kotlin/ : Packages sources (activities, fragments, ViewModels, repositories, etc.)

Ressources (src/main/res/)

  • layout/ : Définitions UI XML (ConstraintLayout, interop Compose)
  • values/ : strings.xml, colors.xml, dimens.xml, themes.xml, attrs.xml
  • drawable/ : Assets vectoriels (XML), raster (PNG/WebP) dans dossiers densité
  • mipmap/ : Icônes lanceur (couches icône adaptative)
  • xml/ : Écrans préférences, règles sauvegarde, config sécurité réseau
  • raw/ : Assets non compilés (JSON, certificats, médias)
  • font/ : Polices TTF/OTF
  • anim/ & animator/ : Animations vue/propriété
  • navigation/ : Graphe navigation XML

Configuration de build

  • build.gradle(.kts) [Module] : Plugins (com.android.application, kotlin-android), namespace, compileSdk, minSdk, targetSdk, dépendances, buildTypes, productFlavors, composeOptions, packagingOptions
  • proguard-rules.pro : Règles keep R8/ProGuard pour réflexion, JNI, libs tierces

Types de modules additionnels

  • Modules fonctionnalités : Distribution dynamique (à la demande, instant)
  • Modules bibliothèque : Code partagé (apply plugin: 'com.android.library')
  • Modules test : Unitaires (test/), instrumentés (androidTest/)

Générés & dérivés (Ne pas commiter)

  • build/ : Sorties compilateur, sources générées, APKs/AABs
  • .gradle/ : Cache Gradle
  • local.properties : Chemin SDK (spécifique machine)
  • .idea/ : Config IDE (commit optionnel)

Les projets modernes utilisent de plus en plus Kotlin DSL (.kts), Jetpack Compose (réduit layout/XML), et catalogues de versions (gradle/libs.versions.toml) pour la gestion des dépendances.

Téléphones Android