Android Gradle Plugin 8.7.0 (Oktober 2024)

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

Kompatibilität

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

Mindestversion Standardversion Hinweise
„Gradle“ 8.9 8.9 Weitere Informationen finden Sie unter Gradle aktualisieren.
SDK-Build-Tools 34.0.0 34.0.0 Installieren oder konfigurieren Sie die SDK-Build-Tools.
NDK 27.0.12077973 "Installieren oder konfigurieren Sie eine andere Version des NDK."
JDK 17 17 Weitere Informationen finden Sie unter JDK-Version festlegen.

Verhaltensänderung bei Lint

Ab dem Android-Gradle-Plug-in 8.7.0-alpha08 wird bei einem LintError beim Ausführen von Lint mit Gradle eine Ausnahme ausgelöst. Durch diese Änderung werden seltene Fehler nicht im Build-Cache gespeichert.

Leider führt diese Änderung dazu, dass Builds für Projekte mit echten LintError-Instanzen in den Lint-Baseline-Dateien fehlschlagen. Die Fehlermeldung enthält Informationen dazu, welche Lint-Prüfungen das Problem verursachen. In einigen Fällen kann das Problem durch Aktualisieren der entsprechenden Bibliotheksabhängigkeit behoben werden. Andernfalls können Sie die problematische Lint-Prüfung deaktivieren, bis der Bibliotheksautor sie behebt.

Behobene Probleme

Android-Gradle-Plug-in 8.7.3

Behobene Probleme
Lint
Viele Warnungen zu fehlenden Methoden der Analysis API beim Ausführen von Lint
Falsch positive Lint-Prüfung: Die Berechtigung „android.permission.SCHEDULE_EXACT_ALARM“ wird nur System-Apps gewährt

Android-Gradle-Plug-in 8.7.2

Behobene Probleme
Lint
AGP 8.7.0 – Falsch positive Lint-Prüfung „RestrictedApi“ für „NavOptionsBuilder.popUpTo“
Shrinker (R8)
[R8 8.6.27] Method implementation replaced with `throw null`
Standardmäßige Android-Proguard-Dateien lösen bei Verwendung mit der aktuellen Version von R8 eine Warnung aus
„MissingStartupProfileItemsDiagnostic“ lässt den Gradle-Client mit einem Fehler wegen unzureichendem Arbeitsspeicher abstürzen, wenn die Nachricht zu groß ist

Android-Gradle-Plug-in 8.7.1

Behobene Probleme
Android-Gradle-Plug-in
In der AGP-Dokumentation gibt es viele „TBD“-Einträge
Lint
AGP 8.6.1: Regression – Lint-Fehler „WrongConstant“ bei Verwendung von „[Int].toLong()“ in einem „@LongDef“ in Kotlin
Lint-Fehler „At least one host must be specified“ beim Festlegen des Schemas „http“ oder „https“ für einen Intent-Filter

Android-Gradle-Plug-in 8.7.0

Behobene Probleme
Android-Gradle-Plug-in
AGP sollte angeben, dass es API 35 unterstützt, das bald veröffentlicht wird
AGP 8.5: Es werden viel mehr „mergeDebugResources“-Aufgaben ausgeführt, was die Builds verlangsamt
NDK 27 als Standard-NDK im AGP festlegen
AGP sollte angeben, dass es API 35 unterstützt, das bald veröffentlicht wird
AGP sollte angeben, dass es API 35 unterstützt, das bald veröffentlicht wird
Ausführung von Android-Lint mit „NoSuchFileException“ fehlgeschlagen
„BuildType#initWith“ kopiert den Nachbearbeitungsblock, aber die ProGuard-Konfiguration wird nicht angewendet
Zusammenführung für „foregroundServiceType“-Tags nicht möglich
Ausführung von Android-Lint mit „NoSuchFileException“ fehlgeschlagen
Lint
Lint sollte nach ungültigen Objekten suchen, die als „ViewGroups“ verwendet werden
„android:host is missing“ für URIs mit Null-Host
Inkompatibilität von „KtAnalysisSessionProvider“ mit Lint-Prüfungen, die in 8.7.0-alpha04 eingeführt wurden
Falsch positive Lint-Prüfung „WrongConstant“ bei Verwendung von „PackageManager.ResolveInfoFlags.of“ mit Kotlin