Android Gradle Plugin 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 die Erstellung 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 -Signatur werden dagegen an den Google Play Store weitergeleitet. 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 finden Sie unter Android App Bundles.

  • Unterstützung für eine verbesserte Geschwindigkeit bei der inkrementellen Erstellung bei Verwendung von Anmerkungs-Prozessoren: Das AnnotationProcessorOptions-DSL erweitert jetzt CommandLineArgumentProvider. So können Sie oder der Ersteller des Anmerkungs-Prozessors Argumente für den Prozessor mit Anmerkungen zum Property-Typ für die inkrementelle Erstellung annotieren. Mithilfe dieser Anmerkungen lassen sich die Korrektheit und Leistung von inkrementellen und im Cache gespeicherten sauberen Builds verbessern. Weitere Informationen finden Sie unter Argumente an Anmerkungs-Prozessoren ü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 Umstrukturieren > Zu AndroidX migrieren aus. Außerdem werden mit diesem Migrationstool die folgenden Flags in der Datei gradle.properties auf true gesetzt:

    • android.useAndroidX:Wenn dieser Parameter auf true festgelegt ist, verwendet das Android-Plug-in die entsprechende AndroidX-Bibliothek anstelle einer Support-Bibliothek. 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 Bibliotheken von Drittanbietern automatisch zur Verwendung von 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 auch android.useAndroidX auf true gesetzt ist. Andernfalls wird ein Buildfehler ausgegeben.

      Weitere Informationen finden Sie in der AndroidX-Übersicht.

  • Neues Tool zur Codekomprimierung: R8: R8 ist ein neues Tool zur Codekomprimierung und Verschleierung, 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

  • Die Entsaccharisierung 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()
                }
              
  • Nativer Multidex ist jetzt standardmäßig aktiviert. In früheren Versionen von Android Studio wurde native Multidex-Unterstützung aktiviert, wenn die Debugversion einer App auf einem Gerät mit Android API-Level 21 oder höher bereitgestellt wurde. Unabhängig davon, ob Sie eine Bereitstellung auf einem Gerät vornehmen oder ein APK für die Veröffentlichung erstellen, aktiviert das Android Gradle-Plug-in jetzt native Multidex-Unterstützung für alle Module, die minSdkVersion=21 oder höher festlegen.

  • 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).

  • Beim Plug-in für das Funktionsmodulcom.android.feature dürfen beim Angeben eines Modulnamens jetzt nur noch Buchstaben, Ziffern und Unterstriche verwendet werden. Wenn der Name des Feature-Moduls beispielsweise Bindestriche enthält, wird ein Buildfehler ausgegeben. Dieses Verhalten entspricht dem des Plug-ins für dynamische Funktionen.

Fehlerkorrekturen

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