Android-Gradle-Plug-in 9.2.0 (April 2026)

Das Android-Gradle-Plug-in 9.2 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.2 unterstützt wird, ist API-Level 36.1. Weitere Informationen zur Kompatibilität:

Mindestversion Standardversion Hinweise
Gradle 9.4.1 9.4.1 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.

Einheitliche Berichte zur Abdeckung und zu Tests

Mit AGP 9.2.0-alpha07 werden Aufgaben eingeführt, mit denen HTML-Dashboards generiert werden, in denen Testergebnisse und die Abdeckung verschiedener Testtypen (Unit- und Instrumentierungstests), Module und Build-Varianten zusammengefasst werden. So erhalten Sie eine umfassende Übersicht in einem einzigen Dashboard. Weitere Informationen finden Sie unter Einheitliche Berichte zur Codeabdeckung generieren und Einheitliche Testberichte ansehen.

Änderungen an R8

Die folgenden Änderungen an R8 sind in AGP 9.2.0 enthalten.

Strengere -keepattributes-Semantik zum Beibehalten von zur Laufzeit unsichtbaren Annotationen

Zur Laufzeit unsichtbare Annotationen können zur Laufzeit nicht gelesen werden. D8 entfernt sie daher bedingungslos, ohne dass dies geändert werden kann.

Aus Kompatibilitätsgründen mit ProGuard unterstützt R8 die Ausgabe von zur Laufzeit unsichtbaren Annotationen. Beim Kompilieren zu DEX sollten sie jedoch in der Regel nie beibehalten werden. Es ist jedoch üblich, die praktische Regel -keepattributes *Annotation* (entweder direkt oder indirekt aus Regeln zum Beibehalten von Consumer-Daten) einzufügen, damit R8 zur Laufzeit sichtbare Annotationen beibehält. Leider werden dadurch auch zur Laufzeit unsichtbare Annotationen beibehalten.

Um dieses Problem zu beheben und das Verhalten von D8 besser nachzubilden, stimmen -keepattributes-Muster mit Platzhaltern nicht mehr mit RuntimeInvisibleAnnotations, RuntimeInvisibleParameterAnnotations und RuntimeInvisibleTypeAnnotations überein. Daher werden zur Laufzeit unsichtbare Annotationen nur beibehalten, wenn der Attributname ohne Platzhalter explizit angegeben wird.

Mit keiner der folgenden Regeln werden zur Laufzeit unsichtbare Annotationen beibehalten:

-keepattributes *
-keepattributes *Annotation*
-keepattributes *Invisible*

Verwenden Sie die folgende Regel, um zur Laufzeit unsichtbare Annotationen beizubehalten:

-keepattributes RuntimeInvisibleAnnotations,
                RuntimeInvisibleParameterAnnotations,
                RuntimeInvisibleTypeAnnotations

Unterstützung für negierte Namen in Mitgliedsregeln

Die Konfigurationssprache wurde erweitert, sodass Sie jetzt auch mit negierten Mitgliedsnamensmustern übereinstimmen können.

Wenn Sie beispielsweise alle Methoden abgleichen möchten, die nicht mit „ForTesting“ enden, verwenden Sie die folgende Regel:

-keepclassmembers class com.example.MyClass {
  *** !*ForTesting(...);
}

Mitgliedsnamensmuster können auch in der Vorbedingung von -if-Regeln negiert werden. Wenn ein negiertes Mitgliedsnamensmuster Platzhalter enthält, können diese Platzhalter in der nachfolgenden -if-Regel nicht referenziert werden.

Behobene Probleme

Android-Gradle-Plug-in 9.2.0-alpha04

Behobene Probleme
Android-Gradle-Plug-in
APK mit neuer AGP-DSL umbenennen
Fehler beim Zugriff auf (aber nicht bei der Auswertung von) bootClasspath IllegalStateException: targetCompatibility is not yet finalized

Android-Gradle-Plug-in 9.2.0-alpha03

Behobene Probleme
Android-Gradle-Plug-in
Fehler bei JdkImageTransform mit JDK 26
minAgpVersion in AGP 10.0 automatisch in die AAR-Metadaten codieren
Lint
Abgeschnittenes Kontextfenster in Lint-SARIF-Berichten aufgrund eines hängengebliebenen Offset-Zeigers in `SarifReporter.kt`
Im Lint-Gradle-Client fehlt eine kritische Funktion, die ihn bestenfalls unzuverlässig macht
Lint-Integration
Lint-Gradle-Aufgaben ignorieren das Flag „--quiet“

Android-Gradle-Plug-in 9.2.0-alpha02

Behobene Probleme
Android-Gradle-Plug-in
AGP 9.0: Kein androidComponents.onVariant-Äquivalent für applicationVariants.all.mergeAssetsProvider
`*.xml.flat`-Dateien enthalten absolute Dateipfade
R8D8ThreadPoolBuildService nicht registriert
Lint-Integration
Android Lint schlägt mit benutzerdefinierten Lint-Prüfungen fehl, die zu Java 21-Bytecode kompiliert wurden

Android-Gradle-Plug-in 9.2.0-alpha01

Behobene Probleme
Android-Gradle-Plug-in
Nutzer warnen, wenn sie commonTest haben, aber withHostTestBuilder vergessen
[fused lib - public] OkHttp enthält Quellen
androidDeviceTest kann nicht mit Platzhaltern im Manifest in der Bibliothek ausgeführt werden (AGP 9.0.0 mit com.android.kotlin.multiplatform.library-Plug-in)
AGP sollte warnen, wenn der Nutzer src/androidDeviceTest/java hat, Java aber deaktiviert ist
Lint
Rechtschreibfehler in der Lint-Meldung