Projektübersicht

Ein Projekt in Android Studio enthält alles, was die Arbeitsbereich für eine App, vom Quellcode und Assets bis zum Testen von Code und Erstellen Konfigurationen.

Wenn Sie ein neues Projekt starten, erstellt Android Studio die für alle Ihre Dateien und macht sie im Projekt in Android Studio. Wählen Sie zum Öffnen des Fensters Ansicht > Tool-Fenster > Projekt.

Diese Seite bietet einen Überblick über die Hauptkomponenten Ihres Projekts.

Module

Ein Modul ist eine Sammlung von Quelldateien und Build-Einstellungen, die können Sie Ihr Projekt in einzelne Funktionseinheiten unterteilen. Ihr kann ein Projekt aus einem oder mehreren Modulen bestehen, und ein Modul kann ein anderes Abhängigkeit. Sie können jedes Modul unabhängig erstellen, testen und debuggen.

Zusätzliche Module sind nützlich, wenn Sie Codebibliotheken in Ihrem oder wenn Sie unterschiedliche Code- und Ressourcensätze z. B. Telefone und Wearables, behalten aber alle die im selben Projekt arbeiten und Code gemeinsam nutzen.

Um Ihrem Projekt ein neues Modul hinzuzufügen, klicken Sie auf File (Datei) > Neu > Neues Modul.

Android Studio bietet verschiedene Arten von Modulen:

Android-App-Modul
Bietet einen Container für das Quellcode, Ressourcendateien und Einstellungen auf Anwendungsebene, die Build-Datei auf Modulebene und die Android-Manifestdatei. Wenn Sie ein neues Projekt erstellen, heißt das Standard-App-Modul „app“.

Android Studio-Angebote die folgenden Arten von App-Modulen:

  • Telefon und Tablets
  • Automotive
  • Wear OS
  • TV
  • Baseline Profile Generator
  • Benchmark

Jedes Modul enthält wichtige Dateien und einige Codevorlagen, die für die entsprechende App oder den entsprechenden Gerätetyp geeignet sind.

Weitere Informationen zum Hinzufügen eines Moduls finden Sie unter Modul für neues Gerät hinzufügen.

Funktionsmodul
Stellt eine modularisierte Funktion deiner App dar, die die Vorteile von Google Play nutzen kann Feature Delivery. Mit Funktionsmodulen können Sie Ihren Nutzern mit bestimmten Funktionen Ihrer App on demand oder als Instant-Version durch Google Play Instant

Android Studio bietet die folgenden Arten von Funktionsmodulen:

  • Modul für dynamische Funktionen
  • Instant Dynamic Feature Library-Modul

Weitere Informationen finden Sie im Funktionsbereitstellung von Google Play.

Bibliotheksmodul
Sie stellt einen Container für Ihren wiederverwendbaren Code bereit, kann als Abhängigkeit in anderen App-Modulen verwendet oder in andere Projekten. Strukturell ist ein Bibliotheksmodul das gleiche wie ein App-Modul. Es wird eine Codearchivdatei statt eines APK erstellt, sodass sie nicht auf auf einem Gerät.

Im Fenster Create New Module (Neues Modul erstellen) bietet Android Studio die folgenden Typen von Bibliotheksmodulen an:

  • Android-Bibliothek:enthält alle unterstützten Dateitypen in einem Android-Projekt, außer nativem C++-Code, einschließlich Java- und Kotlin-Quellcode, Ressourcen und Manifestdateien. Das Build-Ergebnis ist eine Android Archive-Datei (AAR), die Sie als eine Abhängigkeit für deine Android-App-Module.
  • Native Bibliothek für Android:enthält alle unterstützten Dateitypen in einem Android-Projekt, ähnlich wie bei einer Android-Bibliothek. Aber auch native Android-Bibliotheken kann nativen C++-Quellcode enthalten. Das Build-Ergebnis ist eine Android Archive-Datei (AAR), die Sie als Abhängigkeit für deine Android-App-Module hinzufügen.
  • Java- oder Kotlin-Bibliothek:Enthält nur Kotlin- oder Java-Quelldateien. Das Build-Ergebnis ist eine Java-Archivdatei (JAR), die Sie als Eine Abhängigkeit für Ihre Android-App-Module oder andere Kotlin- oder Java-Projekte.

Module werden manchmal auch als Unterprojekte bezeichnet, da Gradle auch Module als Projekte bezeichnet.

Wenn Sie ein Bibliotheksmodul erstellen und es als Abhängigkeit zu Ihrem Android-App-Moduls müssen Sie es so deklarieren:

Groovy

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

Kotlin

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

Projektdateien

Standardmäßig zeigt Android Studio Ihre Projektdateien im Android-Ansicht Diese Ansicht spiegelt nicht die der eigentlichen Dateihierarchie auf dem Laufwerk. Stattdessen sind sie nach Module und Dateitypen zu verwenden, um die Navigation zwischen wichtigen Quelldateien Ihres Projekts zu vereinfachen, bestimmte Dateien oder Verzeichnisse, die nicht häufig verwendet werden.

Einige der strukturellen Unterschiede zwischen der Android-Ansicht und der sind in der Android-Ansicht

  • Hier werden alle buildbezogenen Konfigurationsdateien des Projekts in einer übergeordneten Gruppe Gradle Script angezeigt.
  • Zeigt alle Manifestdateien für jedes Modul in einer Gruppe auf Modulebene an, wenn Sie unterschiedliche Manifestdateien für verschiedene Produkt-Sorten und Build-Typen haben.
  • Zeigt alle alternativen Ressourcendateien in einer einzelnen Gruppe an und nicht in separaten Ordnern pro Ressourcenqualifizierer. So werden beispielsweise alle Versionen Ihres Launcher-Symbols nebeneinander angezeigt.

Innerhalb der einzelnen Android-App-Module werden Dateien in die folgenden Gruppen eingeteilt:

Manifeste
Enthält die Datei AndroidManifest.xml.
Java
Enthält die Kotlin- und Java-Quellcodedateien, getrennt nach Paketnamen einschließlich JUnit-Testcode.
Auflösung
Enthält alle nicht codierten Ressourcen wie UI-Strings und Bitmap-Bilder, unterteilt in entsprechende Unterverzeichnisse. Weitere Informationen zu möglichen Ressourcentypen finden Sie unter App-Ressourcen – Übersicht.

Projektansicht

Wenn Sie die tatsächliche Dateistruktur des Projekts sehen möchten, einschließlich aller Dateien, die in der Ansicht Android ausgeblendet sind, wählen Sie oben im Fenster Projekt die Option Projekt aus.

Wenn Sie die Projektansicht auswählen, sehen Sie viel mehr Dateien. und Verzeichnisse, darunter:

module-name/
build/
Enthält Build-Ausgaben.
libs/
Enthält private Bibliotheken.
src/
Enthält alle Code- und Ressourcendateien für das Modul im folgenden Unterverzeichnisse:
androidTest/
Enthält Code für Instrumentierungstests auf einem Android-Gerät. Weitere Informationen finden Sie unter Teste in Android Studio.
cpp/
Enthält nativen C- oder C++-Code unter Verwendung der Java Native Interface (JNI). Weitere Informationen finden Sie unter der Android NDK-Dokumentation.
main/
Enthält die „Haupt“-Quelldateien: den Android-Code und die Ressourcen, die von allen Buildvarianten gemeinsam genutzt werden (Dateien für andere Buildvarianten befinden sich in übergeordneten Verzeichnissen, z. B. src/debug/ für den Debug-Buildtyp):
AndroidManifest.xml
Hier werden die Eigenschaften der App und ihre einzelnen Komponenten beschrieben. Weitere Informationen finden Sie in der App-Manifest Übersicht.
java/
Enthält Kotlin- oder Java-Codequellen oder beide, wenn Ihre App sowohl Kotlin- als auch Java enthält Quellcode verfügbar.
kotlin/
Enthält nur Kotlin-Codequellen.
res/
Enthält Anwendungsressourcen wie Drawable-Dateien und UI-String-Dateien. Weitere Informationen finden Sie in der App-Ressourcen in der Übersicht.
assets/
Enthält Dateien, die unverändert in eine APK-Datei kompiliert werden. Dies ist beispielsweise ein guter Speicherort für Texturen und Spieldaten. Sie können genau wie in einem typischen Dateisystem navigieren, URIs und lesen Dateien als Stream von Byte mithilfe der Methode AssetManager
test/
Enthält Code für lokale Tests, die auf Ihrer Host-JVM ausgeführt werden.
build.gradle oder build.gradle.kts (Modul)
Definiert die modulspezifischen Build-Konfigurationen. build.gradle ist der/die/das wenn Sie Groovy als Build-Skriptsprache verwenden build.gradle.kts, wenn Sie ein Kotlin-Script verwenden.
build.gradle oder build.gradle.kts (Projekt)
Dies definiert Ihre Build-Konfiguration, die für alle Module gilt. build.gradle ist der richtige Dateiname, wenn Sie Groovy als Build-Script-Sprache verwenden, und build.gradle.kts, wenn Sie Kotlin-Script verwenden. Diese Datei ist ein wesentlicher Bestandteil des Projekts. Behalten Sie sie daher zusammen mit dem gesamten Quellcode in der Versionskontrolle.

Informationen zu anderen Build-Dateien finden Sie unter Konfigurieren Sie Ihren Build.

Einstellungen der Projektstruktur

Um verschiedene Einstellungen für Ihr Android Studio-Projekt zu ändern, öffnen Sie die Dialogfeld Project Structure (Projektstruktur) durch Klicken auf Datei > Projektstruktur. Es enthält die folgenden Abschnitten:

  • Projekt:Legt die Version für Gradle und das Android-Gradle-Plug-in und den Namen des Repository-Speicherorts.
  • SDK-Speicherort: Hier legen Sie den Speicherort des JDK, des Android SDK und des Android NDK fest, die in Ihrem Projekt verwendet werden.
  • Variablen:Bearbeiten Sie Variablen, die in Ihrem Build verwendet werden. Skripts erstellt.
  • Module:Hiermit können Sie modulspezifische Builds bearbeiten. einschließlich Ziel- und Mindest-SDK, App-Signatur, und Bibliotheksabhängigkeiten. Die Seite mit den Einstellungen jedes Moduls ist in die folgenden Tabs unterteilt:
    • Properties (Eigenschaften): Hier werden die Versionen des SDKs und die Build-Tools angegeben, die zum Kompilieren des Moduls verwendet werden sollen.
    • Signing (Signieren): Gibt das Zertifikat an, das für die Verwendung mit unterschreiben Sie App.
  • Abhängigkeiten: Listet die Bibliothek, die Datei und das Modul auf. für dieses Modul haben. Sie können Abhängigkeiten hinzufügen, ändern und löschen aus diesem Bereich. Weitere Informationen zu Modulabhängigkeiten finden Sie unter Build-Varianten konfigurieren

  • Build-Varianten:Sie können verschiedene Varianten und Build-Typen konfigurieren. für Ihr Projekt.

    • Flavors:Hiermit können Sie mehrere Geschmacksrichtungen kreieren, wobei Jede Version gibt eine Reihe von Konfigurationseinstellungen an, z. B. SDK-Mindestversion und Zielversion des Moduls Versionscode und Versionsname.

      Sie können beispielsweise eine Variante mit einer Mindest-SDK-Version von 21 und einer Ziel-SDK-Version von 29 und eine andere Variante mit einer Mindest-SDK-Version von 24 und einer Ziel-SDK-Version von 33 definieren.

    • Build-Typen:Erstellen und Ändern von Builds wie unter Build-Varianten konfigurieren beschrieben. Standardmäßig In jedem Modul sind Debugging- und release-Build-Typen und Sie können bei Bedarf weitere definieren.