Android-Gradle-Plug-in 9.3.0 (Juli 2026)

Das Android-Gradle-Plug-in 9.3 ist ein kleinerer Release, der eine Vielzahl neuer Funktionen und Verbesserungen enthält.

Kompatibilität

Das maximale API-Level, das vom Android-Gradle-Plug-in 9.3 unterstützt wird, ist API-Level 37. Weitere Informationen zur Kompatibilität:

Mindestversion Standardversion Hinweise
Gradle 9.5.0 9.5.0 Weitere Informationen finden Sie unter Gradle aktualisieren.
SDK-Build-Tools 36.0.0 36.0.0 Installieren oder konfigurieren Sie die SDK-Build-Tools.
NDK – 28.2.13676358 Installieren Sie oder konfigurieren Sie eine andere Version des NDK.
JDK 17 17 Weitere Informationen finden Sie unter JDK-Version festlegen.

Eigenständige Gradle-Aufgabe für R8 Configuration Analyzer

Mit dem Android-Gradle-Plug-in 9.3 wird eine spezielle Gradle-Aufgabe zum isolierten Ausführen des R8 Configuration Analyzer eingeführt. Der R8 Configuration Analyzer hilft Ihnen, die Regeln zum Komprimieren und Verschleiern des Codes Ihrer App zu optimieren.

./gradlew :app:analyzeReleaseR8Config

Mit der Aufgabe :app:analyzeReleaseR8Config wird der Bericht generiert, ohne dass die Pipeline für die APK- oder Bundle-Kompilierung abgeschlossen wird. Das sorgt für eine kürzere Feedbackschleife, wodurch die Iteration von Entwicklern beim Optimieren von Aufbewahrungsregeln beschleunigt wird. Alternativ können Sie den Bericht automatisch generieren lassen, indem Sie einen R8-Release-Build ausführen (z. B. assembleRelease oder bundleRelease).

Weitere Informationen finden Sie unter Eigenständige Gradle-Aufgabe zum Generieren von Berichten ausführen.

Behobene Probleme

Android-Gradle-Plug-in 9.3.3

Behobene Probleme
Android-Gradle-Plug-in
Mit der neuen Optimierungs-DSL { enable = true } von AGP 9.3.0 wird „isMinifyEnabled“ im ApplicationVariant-Objekt nicht festgelegt.
Dexer (D8)
D8 9.2.14 ist in `mergeProjectDexDebug` bei identischer Ein-/Ausgabe etwa 38% langsamer als 8.13.6.
Shrinker (R8)
D8-Debugmodus: ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 31 – Regression zwischen R8 8.8.34 und 8.9.27
VerifyError: Outliner erweitert try-catch-Region fälschlicherweise, was zu einem nicht initialisierten Register führt
R8 schreibt die Datei „.kotlin_module“ mit „:“ im Namen, was zu einem unter Windows ungültigen Dateinamen führt.
Nicht deterministischer R8-Build: Bei identischer Eingabe werden unterschiedliche DEX-/Mapping-Dateien erstellt (Regression durch „Assume-Anweisungen in LIR beibehalten“)
Doppelte Zuordnung mit R8 9.1
AGP erstellt zeitweise DEX-Dateien, die nicht überprüft werden können und die App beim Start zum Absturz bringen
NullPointerException: Cannot invoke Position.getOutermostCaller() because entryPosition is null
Hoher Arbeitsspeicherverbrauch pro Regel
R8: VerifyError unter Android 4.4

Android-Gradle-Plug-in 9.3.2

Behobene Probleme
Lint
AGP 9.3 stürzt bei JDK 17 mit dem Fehler „NoSuchMethodError: java.util.List.removeLast()“ im gebündelten „intellij-core JavaDocParser“ ab

Android-Gradle-Plug-in 9.3.1

Behobene Probleme
Keine öffentlichen Probleme wurden im AGP 9.3.1 als behoben markiert

Android-Gradle-Plug-in 9.3.0-rc02

Behobene Probleme
In AGP 9.3.0-rc02 wurden keine öffentlichen Probleme als behoben markiert.

Android-Gradle-Plug-in 9.3.0-rc01

Behobene Probleme
In AGP 9.3.0-rc01 wurden keine öffentlichen Probleme als behoben markiert.

Android-Gradle-Plug-in 9.3.0-alpha12

Behobene Probleme
Android-Gradle-Plug-in
Build-Fehler: Leck des Dateihandles für „classes.jar“ in „compile_library_classes_jar“ verhindert Rebuilds unter Windows bis zum Neustart der IDE
Lint
Lint behandelt importierte Java-Bibliothek als Android-Projekt und ignoriert die SDK-Version für die Kompilierung

Android-Gradle-Plug-in 9.3.0-alpha11

Behobene Probleme
In AGP 9.3.0-alpha11 wurden keine öffentlichen Probleme als behoben markiert.

Android-Gradle-Plug-in 9.3.0-alpha10

Behobene Probleme
In AGP 9.3.0-alpha10 wurden keine öffentlichen Probleme als behoben markiert.

Android-Gradle-Plug-in 9.3.0-alpha09

Behobene Probleme
In AGP 9.3.0-alpha09 wurden keine öffentlichen Probleme als behoben markiert.

Android-Gradle-Plug-in 9.3.0-alpha08

Behobene Probleme
In AGP 9.3.0-alpha08 wurden keine öffentlichen Probleme als behoben markiert.

Android-Gradle-Plug-in 9.3.0-alpha07

Behobene Probleme
In AGP 9.3.0-alpha07 wurden keine öffentlichen Probleme als behoben markiert.

Android-Gradle-Plug-in 9.3.0-alpha06

Behobene Probleme
Android-Gradle-Plug-in
JavaDocGenerationTask sollte Worker verwenden

Android-Gradle-Plug-in 9.3.0-alpha05

Behobene Probleme
Shrinker (R8)
L8-Verschleierungszuordnung nicht in app-mapping.txt enthalten

Android-Gradle-Plug-in 9.3.0-alpha04

Behobene Probleme
Android-Gradle-Plug-in
KMP-KeepRules-Source-Set wird ohne it.consumerKeepRules.publish = true ignoriert

Android-Gradle-Plug-in 9.3.0-alpha03

Behobene Probleme
Android-Gradle-Plug-in
java.lang.ClassNotFoundException: Didn't find class "com.android.tools.r8.RecordTag" after upgrading gradle to 9.2.0 (java.lang.ClassNotFoundException: Klasse „com.android.tools.r8.RecordTag“ nach dem Upgrade von Gradle auf Version 9.2.0 nicht gefunden)
Lint
Lint-Fehler, wenn die Ressourcenverkleinerung deaktiviert ist

Android-Gradle-Plug-in 9.3.0-alpha02

Behobene Probleme
Android-Gradle-Plug-in
Feature Request: Add native_libs_merge_blame_file support to Android-Gradle-Plug-in
Lint
Fehlendes Backtick in der Problembenachrichtigung von AnnotationDetector
Lint-Fehler, wenn die Ressourcenverkleinerung deaktiviert ist

Android-Gradle-Plug-in 9.3.0-alpha01

Behobene Probleme
Android-Gradle-Plug-in
Problem mit automatisch generierten Versionscodes
AGP: Von der Projekt- als Abhängigkeitsnotation migrieren
Lint
Falsch positives Lint-Ergebnis mit UseKtx

Android-Gradle-Plug-in 9.3.0

Behobene Probleme
In AGP 9.3.0 wurden keine öffentlichen Probleme als behoben markiert.

Aktualisierte Optimierungs-DSL zum Konfigurieren von R8-Keep-Regeln

Es wird eine aktualisierte Optimierungs-DSL eingeführt, mit der Keep-Regeln für die R8-Optimierung konfiguriert werden können. Sie wird von App-Modulen und Tests für Bibliotheksmodule unterstützt. Wenn Sie die Optimierung mit der aktualisierten DSL konfigurieren möchten, verwenden Sie den neuen optimization-Block. Konfigurieren Sie für Apps den optimization-Block in einem Build-Typ (z. B. release oder debug) im Build-Skript auf App-Ebene. Die aktualisierte Optimierungs-DSL vereinfacht die R8-Konfiguration:

  • Wenn Sie die Optimierung aktivieren, werden sowohl der Code als auch die Ressourcen optimiert.
  • Sie müssen die Standarddatei für Android-Keep-Regeln nicht mehr angeben.

Die alte DSL wird weiterhin unterstützt.

Einführung von Quellsätzen zum Definieren von Beibehaltungsregeln

Platzieren Sie Keep-Regeln im Source-Set src/<variant>/keepRules/ mit dem Dateisuffix .keep. Quellgruppen für Keep-Regeln werden von der aktualisierten Optimierungs-DSL und der Legacy-DSL unterstützt. Die Verwendung von Source-Sets für Keep-Regeln wird in App-Modulen, Bibliotheksmodulen und als Möglichkeit zum Definieren von Consumer-Regeln in Kotlin Multiplatform-Modulen (KMP) unterstützt.