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 SDK-Build-Tools.

3.2.1 (Oktober 2018)

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

Neue Funktionen

  • Unterstützung für die Erstellung von Android App Bundles:Das App Bundle ist ein neuer Upload. das den gesamten kompilierten Code und die Ressourcen Ihrer App enthält, während die APK-Generierung und -Signatur im Google Play Store aufgeschoben wird. Sie haben nicht mehr müssen mehrere APKs erstellen, signieren und verwalten und Nutzer erzielen kleinere Downloads die für ihr Gerät optimiert sind. Weitere Informationen finden Sie unter Android App Bundles

  • Unterstützung für verbesserte inkrementelle Build-Geschwindigkeiten bei Verwendung von Annotationsprozessoren: Die AnnotationProcessorOptions DSL erweitert jetzt CommandLineArgumentProvider, mit der entweder Sie oder der Autor des Annotationsverarbeiters Anmerkungen Argumente für den Prozessor mithilfe von Annotationen des inkrementellen Build-Property-Typs. Diese Anmerkungen verbessern die Richtigkeit und Leistung der inkrementelle und im Cache gespeicherte bereinigte Builds. Weitere Informationen finden Sie unter Argumente an Annotationsprozessoren übergeben.

  • Migrationstool für AndroidX:Bei Verwendung des Android-Gradle-Plug-ins 3.2.0 mit Android 3.2 und höher können Sie die lokalen und Maven-Daten Ihres Projekts migrieren. um die neuen AndroidX-Bibliotheken zu verwenden, indem Sie Refaktorieren > Migrieren Sie über die Menüleiste zu AndroidX. Mit diesem Migrationstool können Sie die folgenden Flags in Ihrer gradle.properties-Datei zu true:

    • android.useAndroidX:Wenn dieser Wert auf true gesetzt ist, verwendet das Android-Plug-in das AndroidX-Bibliothek anstelle einer Support-Bibliothek. Wenn dieses Flag nicht angegeben ist, wird vom Plug-in standardmäßig false festgelegt.

    • android.enableJetifier:Wenn auf true gesetzt, wird das Android-Plug-in Bibliotheken von Drittanbietern automatisch auf AndroidX um, ihre Binärdateien umschreiben. Wenn dieses Flag nicht angegeben ist, legt das Plug-in wird sie standardmäßig auf false gesetzt. Sie können dieses Flag nur auf true setzen, wenn android.useAndroidX ist ebenfalls auf true gesetzt. Andernfalls erhalten Sie einen Build-Fehler.

      Weitere Informationen finden Sie in der Übersicht zu AndroidX.

  • Neuer Codeverkleinerer, R8:R8 ist ein neues Tool zum Verkleinern und Verschleiern von Code das ProGuard ersetzt. Sie können die Vorabversion von R8 nutzen, indem Sie Fügen Sie Folgendes in die gradle.properties-Datei Ihres Projekts ein:

            android.enableR8 = true
            
            android.enableR8 = true
            

Verhaltensänderungen

  • Die Desugarierung mit D8 ist jetzt standardmäßig aktiviert.

  • AAPT2 befindet sich jetzt im Maven-Repository von Google. Damit Sie AAPT2 verwenden können, müssen Sie haben die Abhängigkeit google() in Ihrer build.gradle 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()
                }
              
  • Natives Multidex ist jetzt standardmäßig aktiviert. Vorherige Android-Versionen Studio hat natives Multidex aktiviert, wenn die Debug-Version einer App in einem Gerät mit Android API-Level 21 oder höher. Unabhängig davon, ob Sie oder ein APK für die Veröffentlichung erstellen, ist das Android-Gradle-Plug-in aktiviert natives Multidex für alle Module, die minSdkVersion=21 oder höher.

  • Das Plug-in erzwingt jetzt eine Mindestversion des protobuf-Plug-ins (0.8.6), Kotlin-Plug-in (1.2.50) und Crashlytics-Plug-in (1.25.4).

  • Das Plug-in für das Feature-Modul,com.android.feature, jetzt erzwingt die Verwendung von nur Buchstaben, Ziffern und Unterstrichen bei der Angabe von einen Modulnamen. Wenn der Name Ihres Funktionsmoduls beispielsweise Bindestriche enthält, erhalten Sie einen Build-Fehler. Dieses Verhalten entspricht dem der dynamischen Funktion .

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 sie jetzt wieder aktivieren on demand konfigurieren wenn Sie es in früheren Versionen aufgrund von unvorhersehbaren Build-Fehlern. (Problem 77910727)