Android Gradle Plugin 3.1.0 (März 2018)
Für diese Version des Android-Plug-ins ist Folgendes erforderlich:
Mindestversion | Standardversio | Hinweise | |
---|---|---|---|
Gradle | 4.4 | 4.4 | Weitere Informationen finden Sie unter Gradle aktualisieren. |
SDK-Build-Tools | 27.0.3 | 27.0.3 | Installieren oder konfigurieren Sie die SDK-Build-Tools. Sie müssen nicht mehr über die Eigenschaft „android.buildToolsVersion“ eine Version für die Build-Tools angeben. Das Plug-in verwendet standardmäßig die erforderliche Mindestversion. |
Neuer DEX-Compiler, D8
Android Studio verwendet jetzt standardmäßig einen neuen DEX-Compiler namens D8. Bei der DEX-Kompilierung wird .class
-Bytecode in .dex
-Bytecode für die Android Runtime (oder Dalvik für ältere Android-Versionen) umgewandelt. Im Vergleich zum vorherigen Compiler, DX, kompiliert D8 schneller und gibt kleinere DEX-Dateien aus. Dabei ist die Leistung der App-Laufzeit gleich oder besser.
D8 sollte Ihren täglichen Workflow für die App-Entwicklung nicht ändern. Sollten jedoch Probleme mit dem neuen Compiler auftreten, melden Sie bitte einen Fehler. Sie können D8 vorübergehend deaktivieren und DX verwenden, indem Sie Folgendes in die gradle.properties
-Datei Ihres Projekts einfügen:
android.enableD8=false
Bei Projekten, in denen Java 8-Sprachfunktionen verwendet werden, ist die inkrementelle Desugaring standardmäßig aktiviert. Sie können sie deaktivieren, indem Sie Folgendes in der gradle.properties
-Datei Ihres Projekts angeben:
android.enableIncrementalDesugaring=false.
Vorabversionsnutzer:Wenn Sie bereits eine Vorabversion von D8 verwenden, wird sie jetzt mit Bibliotheken kompiliert, die in den SDK-Build-Tools enthalten sind, nicht mit dem JDK. Wenn Sie also auf APIs zugreifen, die im JDK, aber nicht in den Bibliotheken der SDK-Build-Tools vorhanden sind, erhalten Sie einen Kompilierungsfehler.
Geändertes Verhalten
-
Wenn Sie mehrere APKs erstellen, die jeweils auf ein anderes ABI ausgerichtet sind, werden standardmäßig keine APKs mehr für die folgenden ABIs generiert:
mips
,mips64
undarmeabi
.Wenn Sie APKs erstellen möchten, die auf diese ABIs ausgerichtet sind, müssen Sie NDK r16b oder niedriger verwenden und die ABIs in Ihrer
build.gradle
-Datei angeben, wie unten gezeigt:splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
-
Der Build-Cache des Android-Plug-ins entfernt jetzt Cache-Einträge, die älter als 30 Tage sind.
-
Wenn Sie
"auto"
anresConfig
übergeben, werden nicht mehr automatisch Stringressourcen ausgewählt, die in Ihr APK verpackt werden. Wenn Sie"auto"
weiterhin verwenden, werden alle Stringressourcen, die von Ihrer App und ihren Abhängigkeiten bereitgestellt werden, vom Plug-in verpackt. Sie sollten stattdessen jede Sprache angeben, die das Plug-in in Ihre APK-Datei einbinden soll. -
Da lokale Module nicht vom Test-APK Ihrer App abhängen können, wird von Gradle die folgende Warnung ausgegeben, wenn Sie Ihren instrumentierten Tests Abhängigkeiten mit der Konfiguration
androidTestApi
anstelle vonandroidTestImplementation
hinzufügen:WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
Fehlerkorrekturen
- Ein Problem wurde behoben, durch das Android Studio Abhängigkeiten in zusammengesetzten Builds nicht richtig erkannte.
- Es wurde ein Problem behoben, bei dem ein Projektsynchronisierungsfehler auftritt, wenn das Android-Plug-in mehrmals in einem einzigen Build geladen wird. Das kann beispielsweise passieren, wenn mehrere Unterprojekte das Android-Plug-in in ihrem Build-Script-Classpath enthalten.