Android Gradle-Plug-in 3.2.0 (September 2018)
Für diese Version des Android-Plug-ins ist Folgendes erforderlich:
- Gradle 4.6 oder höher ist Weitere Informationen finden Sie im Abschnitt zum Aktualisieren von Gradle.
- SDK Build Tools 28.0.3 oder höher.
3.2.1 (Oktober 2018)
Mit diesem Update müssen Sie keine Version für die SDK-Build-Tools mehr angeben. Das Android-Gradle-Plug-in verwendet jetzt standardmäßig Version 28.0.3.
Neue Funktionen
-
Unterstützung für die Entwicklung von Android App Bundles:Das App Bundle ist ein neues Uploadformat, das den gesamten kompilierten Code und die Ressourcen Ihrer App enthält. Dabei wird die APK-Erstellung aufgeschoben und im Google Play Store signiert. Du musst nicht mehr mehrere APKs erstellen, signieren und verwalten, und Nutzer erhalten kleinere Downloads, die für ihr Gerät optimiert sind. Weitere Informationen findest du unter Android App Bundles.
-
Unterstützung von verbesserten inkrementellen Build-Geschwindigkeiten bei Verwendung von Annotationsprozessoren: Die
AnnotationProcessorOptions
-DSL erweitert jetztCommandLineArgumentProvider
, sodass entweder Sie oder der Ersteller des Annotationsprozessors Argumente für den Prozessor mithilfe von inkrementellen Annotationen des Build-Attributtyps annotieren können. Die Verwendung dieser Annotationen verbessert die Korrektheit und Leistung von inkrementellen und im Cache gespeicherten sauberen Builds. Weitere Informationen finden Sie unter Argumente an Annotationsprozessoren übergeben. -
Migrationstool für AndroidX:Wenn Sie das Android-Gradle-Plug-in 3.2.0 mit Android 3.2 und höher verwenden, können Sie die lokalen und Maven-Abhängigkeiten Ihres Projekts zur Verwendung der neuen AndroidX-Bibliotheken migrieren. Wählen Sie dazu in der Menüleiste Refactor > Migrate to AndroidX (Refaktorieren > Zu AndroidX migrieren) aus. Mit diesem Migrationstool werden in der Datei
gradle.properties
auch die folgenden Flags auftrue
gesetzt:-
android.useAndroidX
: Wenn dieser Wert auftrue
gesetzt ist, verwendet das Android-Plug-in die entsprechende AndroidX-Bibliothek anstelle einer Support Library. Wenn dieses Flag nicht angegeben ist, wird es vom Plug-in standardmäßig auffalse
festgelegt. -
android.enableJetifier
:Wenn das Android-Plug-in auftrue
gesetzt ist, migriert es automatisch vorhandene Bibliotheken von Drittanbietern zur Verwendung von AndroidX. Dabei werden die Binärprogramme umgeschrieben. Wenn dieses Flag nicht angegeben ist, wird es vom Plug-in standardmäßig auffalse
gesetzt. Sie können dieses Flag nur auftrue
setzen, währendandroid.useAndroidX
ebenfalls auftrue
gesetzt ist. Andernfalls erhalten Sie einen Build-Fehler.Weitere Informationen finden Sie in der Übersicht zu AndroidX.
-
-
Neuer Code-Shrinker, R8: R8 ist ein neues Tool zum Verkleinern und Verschleieren von Code, das ProGuard ersetzt. Sie können die Vorabversion von R8 verwenden, indem Sie Folgendes in die
gradle.properties
-Datei Ihres Projekts einfügen:android.enableR8 = true
android.enableR8 = true
Änderungen des Verhaltens
-
Das Dessugaren mit D8 ist jetzt standardmäßig aktiviert.
-
AAPT2 befindet sich jetzt im Maven-Repository von Google. Für die Verwendung von AAPT2 muss die
google()
-Abhängigkeit in Ihrerbuild.gradle
-Datei vorhanden sein (siehe unten):buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
-
Native Multidex-Dateien sind jetzt standardmäßig aktiviert. In früheren Versionen von Android Studio wurde natives Multidex aktiviert, wenn die Debug-Version einer App auf einem Gerät mit Android API-Level 21 oder höher bereitgestellt wurde. Unabhängig davon, ob Sie die Bereitstellung auf einem Gerät vornehmen oder ein APK für einen Release erstellen, aktiviert das Android-Gradle-Plug-in natives Multidex für alle Module, für die
minSdkVersion=21
oder höher festgelegt ist. -
Das Plug-in erzwingt jetzt eine Mindestversion des protobuf-Plug-ins (0.8.6), des Kotlin-Plug-ins (1.2.50) und des Crashlytics-Plug-ins (1.25.4).
-
Das Feature-Modul-Plug-in
com.android.feature
erzwingt jetzt die Verwendung von nur Buchstaben, Ziffern und Unterstrichen bei der Angabe eines Modulnamens. Wenn der Name des Feature-Moduls beispielsweise Bindestriche enthält, wird ein Build-Fehler ausgegeben. Dieses Verhalten entspricht dem des Plug-ins für dynamische Funktionen.
Fehlerkorrekturen
- JavaCompile kann jetzt in Projekten mit Datenbindung zwischengespeichert werden. (Problem 69243050)
- Bessere Kompilierungsvermeidung für Bibliotheksmodule mit Datenbindung. (Problem 77539932)
- Sie können configure-on-demand jetzt wieder aktivieren, wenn Sie die Funktion in früheren Versionen aufgrund unvorhersehbarer Build-Fehler deaktiviert haben. (Problem 77910727)