Nachdem ich ein Eclipse-Projekt in Android Studio importiert habe, werden zwei build.gradle
Dateien angezeigt:
1 - <PROJECT_ROOT>\build.gradle
2 - <PROJECT_ROOT>\app\build.gradle
Die erste Version ist kürzer, die zweite Version enthält Definitionen für compileSdkVersion
usw.
Was ist der Grund für zwei separate Dateien? Gibt es separate Build-Aufgaben?
Antworten:
<PROJECT_ROOT>\app\build.gradle
ist spezifisch für das App-Modul .<PROJECT_ROOT>\build.gradle
ist eine "Build-Datei der obersten Ebene", in der Sie Konfigurationsoptionen hinzufügen können, die allen Unterprojekten / Modulen gemeinsam sind.Wenn Sie ein anderes Modul in Ihrem Projekt verwenden, haben Sie als lokale Bibliothek eine andere
build.gradle
Datei:<PROJECT_ROOT>\module\build.gradle
Zum Beispiel in der Top-Level - Datei können Sie diese gemeinsame Eigenschaften angeben:
In deinem
app\build.gradle
quelle
build.gradle
Vorhandensein der Datei obligatorisch, um einen Build auszulösen? Ruft die Build-Datei der obersten Ebene auch Dateien der untersten Ebene auf? (Obwohl es keine Beweise dafür gibt.)rootProject.ext.compileSdkVersion
Konstrukt ist sehr informativ.Aus der offiziellen Dokumentation:
Projekterstellungsdatei
<PROJECT_ROOT>\build.gradle
oder die Projekterstellungsdatei gilt für das gesamte Projekt und wird daher für globale Projektkonfigurationen verwendet. Eine typische Projekterstellungsdatei enthält Folgendes:Modulerstellungsdatei
<PROJECT_ROOT>\app\build.gradle
oder das Modul Build - Datei ist für ein bestimmtes Modul so wird es für bestimmte Modulebene configs verwendet werden. Eine Modulerstellungsdatei enthält Folgendes:Sie können die offiziellen Dokumente hier lesen:
Projekte und Module erstellen Einstellungen
quelle