Android-Gradle-Plug-in 3.2.0 (September 2018)

Für diese Version des Android-Plug-ins ist Folgendes erforderlich:

Mindestversion Standardversio Hinweise
Gradle 4,6 4,6 Weitere Informationen finden Sie unter Gradle aktualisieren.
SDK-Build-Tools 28.0.3 28.0.3 Installieren oder Konfigurieren Sie die SDK-Build-Tools.

3.2.1 (Oktober 2018)

Mit diesem Update müssen Sie keine Version mehr für die SDK-Build-Tools angeben. Das Android-Gradle-Plug-in verwendet jetzt standardmäßig Version 28.0.3.

Neue Funktionen

  • Unterstützung für das Erstellen von Android App Bundles:Das App Bundle ist ein neues Uploadformat, das den gesamten kompilierten Code und alle Ressourcen Ihrer App enthält. Die APK-Generierung und -Signierung wird an den Google Play Store übertragen. Sie müssen nicht mehr mehrere APKs erstellen, signieren und verwalten. Nutzer erhalten kleinere Downloads, die für ihr Gerät optimiert sind. Weitere Informationen zu Android App Bundles

  • Unterstützung für verbesserte inkrementelle Build-Geschwindigkeiten bei Verwendung von Annotationsprozessoren:Die AnnotationProcessorOptions-DSL erweitert jetzt CommandLineArgumentProvider, sodass Sie oder der Autor des Annotationsprozessors Argumente für den Prozessor mit Annotations für inkrementelle Build-Eigenschaftstypen annotieren können. Durch die Verwendung dieser Anmerkungen werden die Richtigkeit und Leistung von inkrementellen und gecachten Clean Builds verbessert. 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 oder höher verwenden, können Sie die lokalen und Maven-Abhängigkeiten Ihres Projekts migrieren, um die neuen AndroidX-Bibliotheken zu verwenden. Wählen Sie dazu in der Menüleiste Refactor > Migrate to AndroidX aus. Wenn Sie dieses Migrationstool verwenden, werden in Ihrer gradle.properties-Datei auch die folgenden Flags auf true gesetzt:

    • android.useAndroidX:Wenn dieser Wert auf true festgelegt 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 auf false gesetzt.

    • android.enableJetifier:Wenn diese Option auf true festgelegt ist, migriert das Android-Plug-in vorhandene Drittanbieterbibliotheken automatisch zu AndroidX, indem die Binärdateien neu geschrieben werden. Wenn dieses Flag nicht angegeben ist, wird es vom Plug-in standardmäßig auf false gesetzt. Sie können dieses Flag nur dann auf true setzen, wenn android.useAndroidX ebenfalls auf true gesetzt ist. Andernfalls erhalten Sie einen Build-Fehler.

      Weitere Informationen finden Sie in der AndroidX-Übersicht.

  • Neues Tool zum Verkleinern von Code: R8: R8 ist ein neues Tool zum Verkleinern und Verschleiern 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
            

Geändertes Verhalten

  • Desugaring mit D8 ist jetzt standardmäßig aktiviert.

  • AAPT2 ist jetzt im Maven-Repository von Google verfügbar. Wenn Sie AAPT2 verwenden möchten, muss die google()-Abhängigkeit in Ihrer build.gradle-Datei vorhanden sein, wie unten dargestellt:

              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()
                }
              
  • Die native Multidex-Funktion ist jetzt standardmäßig aktiviert. In früheren Versionen von Android Studio wurde beim Bereitstellen der Debug-Version einer App auf einem Gerät mit Android API‑Level 21 oder höher automatisch die native Multidex-Funktion aktiviert. Ganz gleich, ob Sie die App auf einem Gerät bereitstellen oder eine APK für die Veröffentlichung erstellen – das Android-Gradle-Plug-in ermöglicht jetzt nativen Multidex für alle Module, für die minSdkVersion=21 oder höher festgelegt ist.

  • Das Plugin erzwingt jetzt eine Mindestversion des Protobuf-Plugins (0.8.6), des Kotlin-Plugins (1.2.50) und des Crashlytics-Plugins (1.25.4).

  • Das Funktionsmodul-Plug-in com.android.feature erzwingt jetzt die Verwendung von Buchstaben, Ziffern und Unterstrichen bei der Angabe eines Modulnamens. Wenn der Name Ihres Funktionsmoduls beispielsweise Bindestriche enthält, erhalten Sie einen Build-Fehler. Dieses Verhalten entspricht dem des Plug-ins für dynamische Module.

Fehlerkorrekturen

  • JavaCompile kann jetzt in Projekten mit Datenbindung im Cache gespeichert werden. (Problem 69243050)
  • Bessere Kompilierungsvermeidung für Bibliotheksmodule mit Datenbindung. (Problem 77539932)
  • Sie können configure-on-demand jetzt wieder aktivieren, wenn Sie es in früheren Versionen aufgrund einiger unvorhersehbarer Build-Fehler deaktiviert haben. (Problem 77910727)