Android Gradle Plugin 8.7.0 (Oktober 2024)

Android Gradle Plugin 8.7.0 ist eine Hauptversion mit einer Vielzahl neuer Funktionen und Verbesserungen.

Kompatibilität

Das Android Gradle-Plug-in 8.7 unterstützt das 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.“

Änderung am Lint-Verhalten

Ab dem Android Gradle Plugin 8.7.0-alpha08 wird beim Ausführen von lint mit Gradle eine LintError ausgegeben, wenn die Lint-Analyseaufgabe eine Ausnahme auslöst. Durch diese Änderung wird verhindert, dass seltene Fehler im Build-Cache zwischengespeichert werden.

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

Behobene Probleme

Android Gradle-Plug-in 8.7.0

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

Android Gradle-Plug-in 8.7.1

Behobene Probleme
Android Gradle Plugin
agp-Dokumente enthalten viele TBD
Fussel
AGP 8.6.1: Regression – Fehler „WrongConstant“ bei der Verwendung von [Int].toLong() in einer @LongDef-Definition in Kotlin
Lint-Fehler „Es muss mindestens ein Host angegeben werden“, wenn das HTTP- oder HTTPS-Intent-Filter-Schema festgelegt wird

Android Gradle-Plug-in 8.7.2

Behobene Probleme
Fussel
AGP 8.7.0 – Lint-Falschmeldung „RestrictedApi“ bei NavOptionsBuilder.popUpTo
Schrumpfgerät (R8)
[R8 8.6.27] Methode wurde durch „throw null“ ersetzt
Standard-Android-ProGuard-Dateien lösen eine Warnung aus, wenn sie mit der aktuellen Version von R8 verwendet werden
MissingStartupProfileItemsDiagnostic führt dazu, dass der Gradle-Client mit einem „Out of Memory“-Fehler abstürzt, wenn die Nachricht zu groß ist

Android Gradle-Plug-in 8.7.3

Behobene Probleme
Fussel
Viele fehlende Warnungen zur Analyse-API-Methode beim Ausführen von lint
Falsch positive Lint-Prüfung: android.permission.SCHEDULE_EXACT_ALARM wird nur System-Apps gewährt