Android Gradle Plugin 8.7.0 (Oktober 2024)

Das Android-Gradle-Plug-in 8.7.0 ist eine Hauptversion mit einer Vielzahl neuer Funktionen und Verbesserungen.

Kompatibilität

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

Mindestversion Standardversio 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.“

Geändertes Lint-Verhalten

Ab Android-Gradle-Plug-in 8.7.0-alpha08 wird bei Ausführung von Lint mit Gradle eine Ausnahme von der Lint-Analyseaufgabe ausgelöst, wenn LintError vorhanden ist. Durch diese Änderung wird verhindert, dass seltene Fehler im Build-Cache gespeichert werden.

Leider führt diese Änderung dazu, dass Builds für Projekte mit echten LintError-Instanzen in ihren 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. Wenn nicht, können Sie die problematische Lint-Prüfung deaktivieren, bis der Bibliotheksautor sie behoben hat.

Behobene Probleme

Android-Gradle-Plug-in 8.7.0

Behobene Probleme
Android-Gradle-Plug-in
AGP sollte angeben, dass es API 35 unterstützt, die demnächst veröffentlicht wird.
AGP 8.5: Es werden viel mehr „mergeDebugResources“-Aufgaben ausgeführt, was Builds verlangsamt
NDK 27 als Standard-NDK in AGP festlegen
AGP sollte angeben, dass es API 35 unterstützt, die demnächst veröffentlicht wird.
AGP sollte angeben, dass es API 35 unterstützt, die demnächst veröffentlicht wird.
Ausführung von Android Lint ist mit NoSuchFileException fehlgeschlagen
BuildType#initWith kopiert den Postprocessing-Block, aber die ProGuard-Konfiguration wird nicht angewendet
Zusammenführen von „foregroundServiceType“-Tags nicht möglich
Ausführung von Android Lint ist 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 Version 8.7.0-alpha04 eingeführt wurden
„Falsch positiv“ – WrongConstant bei Verwendung von PackageManager.ResolveInfoFlags.of mit Kotlin

Android-Gradle-Plug-in 8.7.1

Behobene Probleme
Android-Gradle-Plug-in
In der AGP-Dokumentation gibt es viele TBDs.
Lint
AGP 8.6.1: Regression – „WrongConstant“-Lint-Fehler bei Verwendung von [Int].toLong() in einer @LongDef in Kotlin
Lint-Fehler „At least one host must be specified“ (Es muss mindestens ein Host angegeben werden) beim Festlegen des Intent-Filter-Schemas „http“ oder „https“

Android-Gradle-Plug-in 8.7.2

Behobene Probleme
Lint
AGP 8.7.0 – Falsch positives Lint-Ergebnis für RestrictedApi bei NavOptionsBuilder.popUpTo
Shrinker (R8)
[R8 8.6.27] Method implementation replaced with `throw null`
Standardmäßige Android-Proguard-Dateien geben eine Warnung aus, wenn sie mit der aktuellen Version von R8 verwendet werden.
„MissingStartupProfileItemsDiagnostic“ stürzt den Gradle-Client mit einem Out-of-Memory-Fehler ab, wenn die Meldung zu groß ist

Android-Gradle-Plug-in 8.7.3

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