Versionshinweise für die Vorabversion des Android-Gradle-Plug-ins

Auf dieser Seite finden Sie Versionshinweise für Vorabversionen des Android Gradle-Plug-ins (AGP).

Android-Gradle-Plug-in 9.0

Das Android-Gradle-Plug-in 9.0 ist ein neuer wichtiger Release von AGP, der API- und Verhaltensänderungen mit sich bringt.

Wenn Sie auf das Android Gradle-Plug-in 9.0.0-alpha10 aktualisieren möchten, verwenden Sie den Android Gradle-Plug-in-Upgrade-Assistenten in Android Studio Otter | 2025.2.1.

Der AGP-Upgrade-Assistent hilft dabei, vorhandenes Verhalten beim Upgrade Ihres Projekts beizubehalten, sofern dies angemessen ist. So können Sie Ihr Projekt auf AGP 9.0 aktualisieren, auch wenn Sie noch nicht bereit sind, alle neuen Standardeinstellungen in AGP 9.0 zu übernehmen.

Kompatibilität

Das maximale Android-API-Level, das vom Android-Gradle-Plug-in 9.0.0-alpha10 unterstützt wird, ist API-Level 36.

Für das Android-Gradle-Plug-in 9.0.0-alpha10 ist Gradle 9.0.0 erforderlich.

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

Die android-DSL-Klassen implementieren jetzt nur noch die neuen öffentlichen Schnittstellen.

In den letzten Jahren haben wir neue Schnittstellen für unsere DSL und API eingeführt, um besser steuern zu können, welche APIs öffentlich sind. In AGP-Versionen 7.x und 8.x wurden weiterhin die alten DSL-Typen (z. B. BaseExtension) verwendet, in denen auch die neuen öffentlichen Schnittstellen implementiert wurden, um die Kompatibilität während der Entwicklung der Schnittstellen aufrechtzuerhalten.

AGP 9.0 verwendet ausschließlich unsere neuen DSL-Schnittstellen und die Implementierungen wurden in neue Typen geändert, die vollständig verborgen sind. Durch diese Änderungen wird auch der Zugriff auf die alte, eingestellte Variant API entfernt.

Für das Update auf AGP 9.0 müssen Sie möglicherweise Folgendes tun:

  • Prüfen Sie, ob Ihr Projekt mit integriertem Kotlin kompatibel ist:Das org.jetbrains.kotlin.android-Plug-in ist nicht mit der neuen DSL kompatibel.
  • KMP-Projekte auf das Android-Gradle-Bibliotheks-Plug-in für KMP umstellen:Die Verwendung des org.jetbrains.kotlin.multiplatform-Plug-ins im selben Gradle-Unterprojekt wie die com.android.library- und com.android.application-Plug-ins ist nicht mit der neuen DSL kompatibel.

  • Build-Dateien aktualisieren:Die Änderung der Schnittstellen soll das DSL so ähnlich wie möglich halten. Es kann jedoch einige kleine Änderungen geben.

  • Benutzerdefinierte Build-Logik aktualisieren, um auf die neue DSL und API zu verweisen:Ersetzen Sie alle Verweise auf die interne DSL durch die öffentlichen DSL-Schnittstellen. In den meisten Fällen handelt es sich um einen direkten Ersatz. Ersetzen Sie alle Verwendungen der applicationVariants- und ähnlicher APIs durch die neue androidComponents-API. Das kann komplexer sein, da die androidComponents API stabiler konzipiert ist, damit Plugins länger kompatibel bleiben. Beispiele finden Sie in unseren Gradle-Rezepten.

  • Drittanbieter-Plug-ins aktualisieren:Einige Drittanbieter-Plug-ins sind möglicherweise weiterhin von Schnittstellen oder APIs abhängig, die nicht mehr verfügbar sind. Migrieren Sie zu Versionen dieser Plug-ins, die mit AGP 9.0 kompatibel sind.

Durch die Umstellung auf die neuen DSL-Schnittstellen werden Plug-ins und Gradle-Build-Skripts, die verschiedene eingestellte APIs verwenden, verhindert, darunter:

Eingestellte API im android-Block Funktion Ersatz
applicationVariants,
libraryVariants,
testVariants und
unitTestVariants
Erweiterungspunkte für Plugins zum Hinzufügen neuer Funktionen zu AGP. Ersetzen Sie dies durch die androidComponents.onVariants-API, z. B.:
androidComponents {
    onVariants() { variant ->
        variant.signingConfig
            .enableV1Signing.set(false)
    }
}
Für alle bisherigen APIs gibt es möglicherweise keinen direkten Ersatz. Melden Sie ein Problem, wenn es einen Anwendungsfall gibt, der nicht von den neuen Variant-APIs abgedeckt wird.
variantFilter Ermöglicht das Deaktivieren ausgewählter Varianten. Ersetzen Sie dies durch die androidComponents.beforeVariants-API, z. B.:
androidComponents {
    beforeVariants(
        selector()
            .withBuildType("debug")
            .withFlavor("color", "blue")
    ) { variantBuilder ->
        variantBuilder.enable = false
    }
  }
deviceProvider und
testServer
Registrierung benutzerdefinierter Testumgebungen zum Ausführen von Tests auf Android-Geräten und ‑Emulatoren. Wechseln Sie zu Von Gradle verwaltete Geräte.
sdkDirectory,
ndkDirectory,
bootClasspath,
adbExecutable und
adbExe
Verschiedene Komponenten des Android SDK für benutzerdefinierte Aufgaben verwenden Wechsle zu androidComponents.sdkComponents.
registerArtifactType,
registerBuildTypeSourceProvider,
registerProductFlavorSourceProvider,
registerJavaArtifact,
registerMultiFlavorSourceProvider und
wrapJavaSourceSet
Veraltete Funktionen, die sich hauptsächlich auf die Verarbeitung generierter Quellen in Android Studio beziehen und in AGP 7.2.0 nicht mehr funktionieren. Es gibt keinen direkten Ersatz für diese APIs.

Wenn Sie auf AGP 9.0 aktualisieren und die folgende Fehlermeldung angezeigt wird, bedeutet das, dass in Ihrem Projekt weiterhin auf einige der alten Typen verwiesen wird:

java.lang.ClassCastException: class com.android.build.gradle.internal.dsl.ApplicationExtensionImpl$AgpDecorated_Decorated
cannot be cast to class com.android.build.gradle.BaseExtension

Wenn Sie durch inkompatible Drittanbieter-Plug-ins blockiert werden, können Sie die alten Implementierungen für die DSL sowie die alte Variant API wiederherstellen. Die neuen Schnittstellen sind dabei auch verfügbar und Sie können Ihre eigene Build-Logik weiterhin auf die neue API umstellen. Fügen Sie diese Zeile in Ihre gradle.properties-Datei ein, um die Speicherung zu verhindern:

android.newDsl=false

Sie können auch mit dem Upgrade auf die neuen APIs beginnen, bevor Sie auf AGP 9.0 upgraden. Die neuen Schnittstellen sind seit vielen AGP-Versionen verfügbar, sodass Sie eine Mischung aus neuen und alten Schnittstellen verwenden können. In der AGP-API-Referenzdokumentation wird die API-Oberfläche für jede AGP-Version angezeigt und es wird angegeben, wann jede Klasse, Methode und jedes Feld hinzugefügt wurde.

Während der Alphaphase von Version 9.0 wenden wir uns an Plug-in-Autoren, um ihnen bei der Anpassung und Veröffentlichung von Plug-ins zu helfen, die vollständig mit den neuen Modi kompatibel sind. Außerdem werden wir den AGP Upgrade Assistant in Android Studio verbessern, um Sie bei der Migration zu unterstützen.

Wenn Sie feststellen, dass die neue DSL- oder Variant API Funktionen vermissen lässt, melden Sie das Problem bitte so schnell wie möglich.

Integriertes Kotlin

Das Android-Gradle-Plug-in 9.0 bietet integrierte Unterstützung für das Kompilieren von Kotlin und ersetzt das separat angewendete Kotlin-Plug-in. Dadurch wird die Integration mit AGP vereinfacht, die Verwendung der eingestellten APIs vermieden und die Leistung in einigen Fällen verbessert.

Das Android-Gradle-Plug-in 9.0 hat eine Laufzeitabhängigkeit vom Kotlin-Gradle-Plug-in 2.2.10. Dies ist die Mindestversion, die für die integrierte Kotlin-Unterstützung erforderlich ist.

Durch die integrierte Kotlin-Unterstützung in AGP 9.0 wird die Android Studio IDE vollständig für Test-Fixtures unterstützt. Verwenden Sie dazu AGP 9.0.0-alpha07 oder höher.

Sie können die integrierte Kotlin-Unterstützung deaktivieren, indem Sie android.builtInKotlin=false festlegen.

Wenn Sie die integrierte Kotlin-Version deaktiviert haben und eine ältere Version des Kotlin-Gradle-Plug-ins verwenden müssen, können Sie das Downgrade erzwingen:

buildscript {
    dependencies {
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") {
            version { strictly("2.0.0") } // or another version that you want to use
        }
    }
}

Geändertes Verhalten

Das Android-Gradle-Plug-in 9.0 hat die folgenden neuen Verhaltensweisen:

Verhalten Empfehlung
Im Android-Gradle-Plug-in 9.0 wird standardmäßig NDK-Version r28c verwendet. Erwägen Sie, die NDK-Version, die Sie verwenden möchten, explizit anzugeben.
Das Android-Gradle-Plug-in 9.0 erfordert standardmäßig, dass Nutzer einer Bibliothek dieselbe oder eine höhere Compile-SDK-Version verwenden. Verwenden Sie beim Einbinden einer Bibliothek dasselbe oder ein höheres Compile SDK. Wenn dies nicht möglich ist oder Sie Nutzern einer von Ihnen veröffentlichten Bibliothek mehr Zeit für die Umstellung geben möchten, legen Sie AarMetadata.minCompileSdk explizit fest.

AGP 9.0 enthält Aktualisierungen der Standardwerte der folgenden Gradle-Attribute. So haben Sie die Möglichkeit, das Verhalten von AGP 8.13 beim Upgrade beizubehalten:

Attribut Funktion Änderung von AGP 8.13 zu AGP 9.0 Empfehlung
android.newDsl Verwenden Sie die neuen DSL-Schnittstellen, ohne die Legacy-Implementierungen des android-Blocks offenzulegen.
Das bedeutet auch, dass auf die alte Variant API, z. B. android.applicationVariants, nicht mehr zugegriffen werden kann.
falsetrue Sie können die Funktion deaktivieren, indem Sie android.newDsl=false festlegen.
Wenn alle Plug-ins und die Build-Logik, die in Ihrem Projekt verwendet werden, kompatibel sind, entfernen Sie die Abmeldung.
android.builtInKotlin Unterstützung für das direkte Kompilieren von Kotlin-Code im Android-Gradle-Plug-in ohne das org.jetbrains.kotlin.android-Plug-in wurde aktiviert. falsetrue Verwenden Sie das integrierte Kotlin, indem Sie das org.jetbrains.kotlin.android-Plug-in entfernen, sofern möglich. Andernfalls können Sie die Funktion deaktivieren, indem Sie android.builtInKotlin=false festlegen.
android.uniquePackageNames Erzwingt, dass jede Bibliothek einen eindeutigen Paketnamen hat. falsetrue Geben Sie für alle Bibliotheken in Ihrem Projekt eindeutige Paketnamen an. Wenn das nicht möglich ist, können Sie dieses Flag während der Migration deaktivieren.
android.dependency.useConstraints Steuert die Verwendung von Abhängigkeitseinschränkungen zwischen Konfigurationen.
In AGP 9.0 ist der Standardwert false. Dabei werden nur Einschränkungen in Anwendungstests auf Geräten (AndroidTest) verwendet. Wenn Sie diesen Wert auf true festlegen, wird das Verhalten von Version 8.13 wiederhergestellt.
truefalse Verwenden Sie Abhängigkeitsbeschränkungen nicht überall, es sei denn, Sie benötigen sie. Wenn Sie den neuen Standardwert dieses Flags akzeptieren, werden auch Optimierungen beim Import von Projekten aktiviert. Dadurch sollte sich die Importzeit für Builds mit vielen Android-Bibliotheks-Unterprojekten verkürzen.
aandroid.enableAppCompileTimeRClass Code in Anwendungen wird mit einer nicht endgültigen R-Klasse kompiliert, wodurch die Anwendungskompilierung an die Bibliothekskompilierung angepasst wird.
Dadurch wird die Steigerung verbessert und der Weg für zukünftige Leistungsoptimierungen des Ressourcenverarbeitungsablaufs geebnet.
falsetrue Bei vielen Projekten kann das neue Verhalten ohne Änderungen am Quellcode übernommen werden. Wenn die R-Klassenfelder an Stellen verwendet werden, an denen eine Konstante erforderlich ist, z. B. in switch-Anweisungen, müssen Sie den Code so umgestalten, dass verkettete if-Anweisungen verwendet werden.
android.sdk.defaultTargetSdkToCompileSdkIfUnset Verwendet die Compile-SDK-Version als Standardwert für die Ziel-SDK-Version in Apps und Tests.
Vor dieser Änderung wurde die SDK-Zielversion standardmäßig auf die Mindest-SDK-Version festgelegt.
falsetrue Geben Sie die SDK-Zielversion für Apps und Tests explizit an.
android.onlyEnableUnitTestForTheTestedBuildType Erstellt nur Unittest-Komponenten für den getesteten Build-Typ.
Im Standardprojekt führt dies zu einem einzelnen Unittest für das Debugging, während zuvor Unittests für das Debugging oder die Release-Version ausgeführt wurden.
falsetrue Wenn für Ihr Projekt keine Tests für Debug- und Release-Builds erforderlich sind, ist keine Änderung erforderlich.
android.proguard.failOnMissingFiles Der Build schlägt mit einem Fehler fehl, wenn eine der im AGP DSL angegebenen Keep-Dateien nicht auf der Festplatte vorhanden ist. Vor dieser Änderung wurden Dateien mit Tippfehlern in Dateinamen stillschweigend ignoriert. falsetrue Entfernen Sie alle ungültigen ProGuard-Dateideklarationen.
android.r8.optimizedResourceShrinking R8 kann weniger Android-Ressourcen beibehalten, da Klassen und Android-Ressourcen gemeinsam berücksichtigt werden. falsetrue Wenn die Aufbewahrungsregeln Ihres Projekts bereits vollständig sind, ist keine Änderung erforderlich.
android.r8.strictFullModeForKeepRules Ermöglicht es R8, weniger beizubehalten, da der Standardkonstruktor nicht implizit beibehalten wird, wenn eine Klasse beibehalten wird. Das heißt, -keep class A impliziert nicht mehr -keep class A { <init>(); }
.
falsetrue Wenn die Aufbewahrungsregeln Ihres Projekts bereits vollständig sind, ist keine Änderung erforderlich.

Ersetzen Sie -keep class A durch -keep class A { <init>(); } in den Keep-Regeln Ihres Projekts für alle Fälle, in denen der Standardkonstruktor beibehalten werden muss.
android.defaults.buildfeatures.resvalues Aktiviert resValues in allen Unterprojekten truefalse Aktivieren Sie resValues nur in den Unterprojekten, die es benötigen, indem Sie in den Gradle-Build-Dateien dieser Projekte Folgendes festlegen:
android {
  buildFeatures {
    resValues = true
  }
}
android.defaults.buildfeatures.shaders Aktiviert die Shader-Kompilierung in allen Unterprojekten. truefalse Aktivieren Sie die Shader-Kompilierung nur in den Unterprojekten, die zu kompilierende Shader enthalten, indem Sie in den Gradle-Build-Dateien dieser Projekte Folgendes festlegen:
android {
  buildFeatures {
    shaders = true
  }
}
android.r8.proguardAndroidTxt.disallowed In AGP 9.0 wird getDefaultProguardFile() nur noch proguard-android-optimize.txt anstelle von proguard-android.txt unterstützen. So soll eine versehentliche Verwendung des Flags ­dontoptimize verhindert werden, das in proguard-android.txt enthalten ist. falsetrue Sie können ­dontoptimize explizit in einer benutzerdefinierten ProGuard-Datei angeben, um die Optimierung zu vermeiden, und gleichzeitig proguard-android-optimize.txt verwenden. Entfernen Sie nach Möglichkeit das Flag ­dontoptimize aus dieser Datei, da es die Vorteile der R8-Optimierung verringert. Falls nicht, können Sie die Funktion deaktivieren, indem Sie android.r8.globalOptionsInConsumerRules.disallowed=false festlegen.
android.r8.globalOptionsInConsumerRules.disallowed Ab AGP 9.0 schlägt die Veröffentlichung von Android-Bibliotheken und Funktionsmodulen fehl, wenn die Dateien „consumer-keep“ problematische ProGuard-Konfigurationen enthalten. Keep-Dateien, die globale Optionen wie ­dontoptimize oder ­dontobfuscate enthalten, sollten nur in Anwendungsmodulen verwendet werden. Sie können die Optimierungsvorteile für Bibliotheksnutzer verringern. Beim Kompilieren von Android-App-Modulen werden solche globalen Optionen stillschweigend ignoriert, wenn sie in eine vorkompilierte Abhängigkeit (JAR oder AAR) eingebettet sind. Sie können nachsehen, wann dies geschieht, indem Sie in der Datei „configuration.txt“ (normalerweise in einem Pfad wie <app_module>/build/outputs/mapping/<build_variant>/configuration.txt) nach Kommentaren wie # REMOVED CONSUMER RULE: ­dontoptimize suchen. falsetrue In veröffentlichten Bibliotheken sollten alle inkompatiblen Regeln entfernt werden. Interne Bibliotheken sollten alle inkompatiblen, aber erforderlichen Regeln stattdessen in eine Proguard-Datei in einem App-Modul verschieben. Sie können die Funktion deaktivieren, indem Sie android.r8.globalOptionsInConsumerRules.disallowed=false festlegen. Wenn alle Ihre Keep-Dateien für Privatnutzer kompatibel sind, entfernen Sie die Abmeldung.

Entfernte Funktionen

Im Android-Gradle-Plug-in 9.0 wurden die folgenden Funktionen entfernt:

Geänderte DSL

Das Android-Gradle-Plug-in 9.0 enthält die folgenden wichtigen DSL-Änderungen:

  • Die Parametrisierung von CommonExtension wurde entfernt.

    An sich ist dies nur eine Breaking Change auf Quellcodeebene, um zukünftige Breaking Changes auf Quellcodeebene zu vermeiden. Sie bedeutet aber auch, dass die Blockmethoden von CommonExtension zu ApplicationExtension, LibraryExension, DynamicFeatureExtension und TestExtension verschoben werden müssen.

    Wenn Sie Ihr Projekt auf AGP 9.0 aktualisieren, müssen Sie den Gradle-Plug-in-Code umgestalten, in dem diese Parameter oder Blockmethoden verwendet werden. Das folgende Beispiel zeigt, wie ein Plug-in aktualisiert wird, um den Typparameter zu entfernen und nicht auf die entfernten Blockmethoden zu verweisen:

    AGP 8.13

    val commonExtension: CommonExtension<*, *, *, *, *, *> =
            extensions.getByType(CommonExtension::class)
    commonExtension.apply {
        defaultConfig {
            minSdk {
                version = release(28)
            }
        }
    }
    

    AGP 9.0

    val commonExtension: CommonExtension =
            extensions.getByType(CommonExtension::class)
    commonExtension.apply {
        defaultConfig.apply {
            minSdk {
                version = release(28)
            }
        }
    }
    

    Bei Plug-ins, die auf einen Bereich von AGP-Versionen ausgerichtet sind, ist die direkte Verwendung des Getters binärkompatibel mit AGP-Versionen unter 9.0.

Entfernte DSL

Im Android-Gradle-Plug-in 9.0 wurden folgende Elemente entfernt:

Entfernte APIs

Im Android-Gradle-Plug-in 9.0 wurden folgende Elemente entfernt:

Entfernte Gradle-Eigenschaften

Die folgenden Gradle-Properties wurden ursprünglich hinzugefügt, um Funktionen, die standardmäßig aktiviert waren, global zu deaktivieren.

Diese Funktionen sind seit AGP 8.0 oder niedriger standardmäßig deaktiviert. Aktivieren Sie diese Funktionen nur in den Unterprojekten, in denen sie verwendet werden, um einen effizienteren Build zu ermöglichen.

Attribut Funktion Ersatz
android.defaults.buildfeatures.aidl Aktiviert die AIDL-Kompilierung in allen Unterprojekten. Aktivieren Sie die AIDL-Kompilierung nur in den Unterprojekten, in denen AIDL-Quellen vorhanden sind, indem Sie die folgende Eigenschaft in den Gradle-Build-Dateien dieser Projekte festlegen:
android {
  buildFeatures {
    aidl = true
  }
}
in der Gradle-Build-Datei jedes Unterprojekts mit AIDL-Quellen
android.defaults.buildfeatures.renderscript Aktiviert die RenderScript-Kompilierung in allen Unterprojekten. Aktivieren Sie die Renderscript-Kompilierung nur in den Unterprojekten, in denen Renderscript-Quellen vorhanden sind, indem Sie die folgende Eigenschaft in den Gradle-Build-Dateien dieser Projekte festlegen:
android {
  buildFeatures {
    renderScript = true
  }
}

Erzwungene Gradle-Properties

In AGP 9.0 wird ein Fehler ausgegeben, wenn Sie die folgenden Gradle-Attribute festlegen.

Der Android Gradle-Plug-in-Upgrade-Assistent aktualisiert Projekte, in denen diese Attribute verwendet werden, nicht auf AGP 9.0.

Attribut Funktion
android.r8.integratedResourceShrinking Das Verkleinern von Ressourcen wird jetzt immer als Teil von R8 ausgeführt. Die vorherige Implementierung wurde entfernt.

Behobene Probleme

Android-Gradle-Plug-in 9.0.0-alpha10

Behobene Probleme
Android-Gradle-Plug-in
„extractNativeLibs“ und „useEmbeddedDex“ sollten nicht aus dem Manifest stammen.
Warnungen von R8 in AGP 9.0.0-alpha09
Lint
Bei integriertem Kotlin wird META-INF kein .kotlin_module hinzugefügt.
Der Lint-Klassenpfad enthält doppelte Klassen in verschiedenen Versionen.
Problemumgehung zum Überschreiben privater Ressourcen funktioniert nicht (tools:override = "true")

Android-Gradle-Plug-in 9.0.0-alpha09

Behobene Probleme
Android-Gradle-Plug-in
Das Plug-in „legacy-kapt“ überspringt die Verarbeitung von Annotationen im Gegensatz zu „kotlin-kapt“.
„compileSdkSpec.minorApiLevel“ funktioniert nicht mit „SettingsExtension“
[fused lib - public] Generated fused library does not include sources

Android-Gradle-Plug-in 9.0.0-alpha08

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

Android-Gradle-Plug-in 9.0.0-alpha07

Behobene Probleme
Android-Gradle-Plug-in
Ein Build schlägt fehl, wenn es Aufgaben zur Codegenerierung gibt
Wenn Sie `android.builtInKotlin=false`, `android.newDsl=false` und `android.enableLegacyVariantApi=false` verwenden, schlägt die Verwendung des `kotlin-android`-Plug-ins mit der Fehlermeldung „API 'applicationVariants' is obsolete“ fehl.
Die integrierte Kotlin-Version kann die Version von „kotlin-stdlib“ nicht auflösen, wenn „kotlin.stdlib.default.dependency=false“
DexData öffnet eine Datei, ohne sie zu schließen, was die Bereinigung verhindert
AndroidSourceDirectorySet sollte in AGP 9.0 nicht mehr von PatternFilterable abgeleitet werden
Test-Fixture-Fehler in Modulen, die nur für Tests verwendet werden
Falscher Fehler bei Verwendung von Kontextempfängern in Test-Fixtures
Falsche IDE-Fehler für Kotlin-Code in „testFixtures“

Android-Gradle-Plug-in 9.0.0-alpha06

Behobene Probleme
Android-Gradle-Plug-in
Mit der neuen Optimierungs-DSL wird standardmäßig keine „configuration.txt“-Datei erstellt.
AGP 8.13.0 kann den Navigationsgraphen in einem Modul nicht überprüfen
AGP verwendet verworfene Gradle API: Multi-String-Notation
Nutzer warnen, die versuchen, die alte Multidex-Bibliothek mit minSdkVersion >=21 zu verwenden
Lint
Lint-Prüfung „ChecksSdkIntAtLeast“ prüft nicht, ob der annotierte Wert korrekt ist

Android-Gradle-Plug-in 9.0.0-alpha05

Behobene Probleme
Android-Gradle-Plug-in
android.proguard.failOnMissingFiles funktioniert nicht für consumerProguardFiles
Kotlin-Gradle-Plug-in-Abhängigkeit auf 2.2.10 aktualisieren
KotlinJvmAndroidCompilation mit der KGP API erstellen
Der explizite API-Modus von Kotlin wird auf Testquellen angewendet
Lint
Lint gibt die Warnung „Could not clean up K2 caches“ (K2-Caches konnten nicht bereinigt werden) aus.

Android-Gradle-Plug-in 9.0.0-alpha04

Behobene Probleme
Android-Gradle-Plug-in
Standard-Java-Quell-/Zielversion in AGP 9.0 von Java 8 zu Java 11 wechseln
„flip android.useAndroidX default to true“
Bessere Ausnahme beim Anwenden des kapt-Plug-ins mit integriertem Kotlin.
Lint
Lint gibt die Warnung „Could not clean up K2 caches“ (K2-Caches konnten nicht bereinigt werden) aus.

Android-Gradle-Plug-in 9.0.0-alpha03

Behobene Probleme
Android-Gradle-Plug-in
Wenn `isIncludeAndroidResources` aktiviert ist, kann `process{Variant}UnitTestManifest` in AGP 8.12.0 nicht zum Zusammenführen von „tools:overrideLibrary“-Verwendungen verwendet werden.
AGP verursacht Einstellungswarnungen in Gradle für JVM-Testaufgaben
„DependencyReportTask“ ist nicht mit dem Konfigurationscache kompatibel
Lint
Fehler: Beim Entfernen ungenutzter Ressourcen werden die Übersetzungen nicht entfernt und es wird auch nicht danach gefragt.

Android-Gradle-Plug-in 9.0.0-alpha02

Behobene Probleme
Android-Gradle-Plug-in
Build schlägt fehl, wenn die ProGuard-Datei nicht vorhanden ist
Entfernen von BuildConfig-Standard-Gradle-Properties-Flags
Ändern Sie den Standardwert von „targetSdk“ der App so, dass er auf „compileSdk“ anstatt auf „minSdk“ basiert.

Android-Gradle-Plug-in 9.0.0-alpha01

Behobene Probleme
Android-Gradle-Plug-in
Veraltetes AndroidSourceSet.jni in AGP 9.0 entfernen
Installation.installOptions() in AGP 9.0 entfernen
Entfernen von BuildType.isRenderscriptDebuggable in AGP 9.0
android.defaults.buildfeatures.renderscript entfernen
`com.android.kotlin.multiplatform.library` stürzt mit von Gradle verwalteten Geräten ab
Entfernen Sie die Standard-gradle.properties-Flags für `android.defaults.buildfeatures.aidl`.