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 Hauptrelease von AGP und bringt API- und Verhaltensänderungen mit sich.
Wenn Sie auf das Android Gradle-Plug-in 9.0.0-alpha11 aktualisieren möchten, verwenden Sie den Android-Gradle-Plug-in-Upgrade-Assistenten in Android Studio Otter 2 Feature Drop | 2025.2.2.
Der AGP-Upgrade-Assistent hilft dabei, vorhandene Verhaltensweisen 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-alpha11 unterstützt wird, ist API-Level 36.
Für das Android-Gradle-Plug-in 9.0.0-alpha11 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.
In AGP 9.0 werden ausschließlich unsere neuen DSL-Schnittstellen verwendet und die Implementierungen wurden in neue, vollständig verborgene Typen geändert. Dadurch 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 diecom.android.library- undcom.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 neueandroidComponents-API. Das kann komplexer sein, da dieandroidComponentsAPI 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 undunitTestVariants
|
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) } } |
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 undtestServer
|
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 undadbExe
|
Verschiedene Komponenten des Android SDK für benutzerdefinierte Aufgaben verwenden |
Wechsle zu androidComponents.sdkComponents.
|
registerArtifactType,registerBuildTypeSourceProvider,registerProductFlavorSourceProvider,registerJavaArtifact,registerMultiFlavorSourceProvider undwrapJavaSourceSet |
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 Alpha-Phase von Version 9.0 werden wir uns an Plug-in-Autoren wenden, 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-Assistenten in Android Studio verbessern, um Sie bei der Migration zu unterstützen.
Wenn Sie feststellen, dass in der neuen DSL- oder Variant-API Funktionen fehlen, melden Sie das Problem bitte so schnell wie möglich.
Integriertes Kotlin
Das Android-Gradle-Plug-in 9.0 bietet integrierte Kotlin-Unterstützung und aktiviert diese standardmäßig. Das bedeutet, dass Sie das org.jetbrains.kotlin.android-Plug-in (oder kotlin-android) nicht mehr in Ihren Build-Dateien anwenden müssen, um Kotlin-Quelldateien zu kompilieren.
Dadurch wird die Kotlin-Integration mit AGP vereinfacht, die Verwendung der eingestellten APIs vermieden und die Leistung in einigen Fällen verbessert.
Wenn Sie Ihr Projekt auf AGP 9.0 aktualisieren, müssen Sie daher auch zur integrierten Kotlin-Unterstützung migrieren oder die integrierte Kotlin-Unterstützung deaktivieren.
Sie können die integrierte Kotlin-Unterstützung für Gradle-Unterprojekte ohne Kotlin-Quellen selektiv deaktivieren.
Laufzeitabhängigkeit vom Kotlin-Gradle-Plug-in 2.2.10
Das Android-Gradle-Plug-in 9.0 hat eine Laufzeitabhängigkeit vom Kotlin-Gradle-Plug-in (KGP) 2.2.10. Dies ist die Mindestversion, die für die integrierte Kotlin-Unterstützung erforderlich ist.
Wenn Sie sich für die integrierte Kotlin-Unterstützung entscheiden und eine KGP-Version unter 2.2.10 verwenden, führt Gradle automatisch ein Upgrade auf KGP-Version 2.2.10 durch.
Wenn Sie eine KSP-Version unter 2.2.10-2.0.2 verwenden, wird die KSP-Version von AGP auf 2.2.10-2.0.2 aktualisiert, damit sie mit der KGP-Version übereinstimmt.
Wenn Sie die integrierte Kotlin-Unterstützung deaktivieren und eine ältere Version von KGP oder KSP verwenden möchten, müssen Sie Ihrer Build-Datei auf oberster Ebene Folgendes hinzufügen:
buildscript {
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") {
version { strictly("KGP_VERSION") }
}
classpath("com.google.devtoolsksp:symbol-processing-gradle-plugin") {
version { strictly("KSP_VERSION") }
}
}
}
IDE-Unterstützung für Test-Fixtures
AGP 9.0 bietet vollständige Android Studio IDE-Unterstützung für Test-Fixtures. Verwenden Sie AGP 9.0.0-alpha07 oder höher, um diese Unterstützung zu erhalten.
Geändertes Verhalten
Das Android-Gradle-Plug-in 9.0 hat die folgenden neuen Verhaltensweisen:
| Verhalten | Empfehlung |
|---|---|
Das Android-Gradle-Plug-in 9.0 verwendet standardmäßig NDK-Version r28c.
|
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.
|
false → true |
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 |
Aktiviert integriertes Kotlin | false → true |
Auf integriertes Kotlin migrieren, falls möglich, oder deaktivieren. |
android.uniquePackageNames |
Erzwingt, dass jede Bibliothek einen eindeutigen Paketnamen hat. | false → true |
Geben Sie für alle Bibliotheken in Ihrem Projekt eindeutige Paketnamen an. Wenn das nicht möglich ist, können Sie diese Meldung 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.
|
true → false |
Verwenden Sie Abhängigkeitsbeschränkungen nicht überall, es sei denn, Sie benötigen sie. Wenn Sie den neuen Standardwert dieser Meldung akzeptieren, werden auch Optimierungen beim Import von Projekten aktiviert, die die Importzeit für Builds mit vielen Android-Bibliotheks-Unterprojekten verkürzen sollten. |
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 der Conversions verbessert und der Weg für zukünftige Leistungsoptimierungen des Ressourcenverarbeitungsablaufs geebnet. |
false → true |
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. |
false → true |
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. |
false → true |
Wenn für Ihr Projekt keine Tests für Debug- und Release-Builds erforderlich sind, ist keine Änderung erforderlich. |
android.proguard.failOnMissingFiles |
Der Build wird mit einem Fehler abgebrochen, wenn eine der im AGP DSL angegebenen Keep-Dateien auf der Festplatte fehlt. Vor dieser Änderung wurden Dateien mit Tippfehlern in Dateinamen stillschweigend ignoriert. | false → true |
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. | false → true |
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>(); }. |
false → true |
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
|
true → false |
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. | true → false |
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.
|
false → true |
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-Bibliotheks- und Funktionsmodulen fehl, wenn die Keep-Dateien des Verbrauchers 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, die in eine vorkompilierte Abhängigkeit (JAR oder AAR) eingebettet sind, stillschweigend ignoriert. 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.
|
false → true |
In veröffentlichten Bibliotheken sollten alle inkompatiblen Regeln entfernt werden. Inkompatible, aber erforderliche Regeln sollten stattdessen in eine proguardFile in einem App-Modul verschoben werden. 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:
- Unterstützung für eingebettete Wear OS-Apps
Mit AGP 9.0 wird die Unterstützung für das Einbetten von Wear OS-Apps entfernt, da dies in Play nicht mehr unterstützt wird. Dazu gehört das Entfernen derwearApp-Konfigurationen und derAndroidSourceSet.wearAppConfigurationName-DSL. Informationen zum Veröffentlichen Ihrer App für Wear OS finden Sie unter Über Wear OS verbreiten. androidDependencies- undsourceSets-Berichtsaufgabe
Geänderte DSL
Das Android-Gradle-Plug-in 9.0 enthält die folgenden wichtigen DSL-Änderungen:
Die Parametrisierung von
CommonExtensionwurde entfernt.An sich ist dies nur eine funktionsgefährdende Änderung auf Quellcodeebene, um zukünftige funktionsgefährdende Änderungen auf Quellcodeebene zu vermeiden. Sie bedeutet aber auch, dass die Blockmethoden von
CommonExtensionzuApplicationExtension,LibraryExension,DynamicFeatureExtensionundTestExtensionverschoben 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.
DSL entfernt
Im Android-Gradle-Plug-in 9.0 wurden folgende Elemente entfernt:
AndroidSourceSet.jni, da sie nicht funktionsfähig war.AndroidSourceSet.wearAppConfigurationName, da die Unterstützung für eingebettete Wear OS-Apps entfernt wurde.BuildType.isRenderscriptDebuggable, da sie nicht funktionsfähig war.DependencyVariantSelection. Es wird durchDependencySelectionersetzt, das alskotlin.android.localDependencySelectionverfügbar ist.Installation.installOptions(String). Es wird durch das veränderliche Attribut vonInstallation.installOptionsersetzt.Der experimentelle, aber nie stabilisierte
PostProcessing-Block.ProductFlavor.setDimension, das durch das Attributdimensionersetzt wirdLanguageSplitOptions, das nur für Google Play Instant nützlich war, das eingestellt wurde.
Entfernte APIs
Im Android-Gradle-Plug-in 9.0 wurden folgende Elemente entfernt:
AndroidComponentsExtension.finalizeDSl. Es wird durchfinalizeDslersetzt.Component.transformClassesWith. Es wird durchInstrumentation.transformClassesWithersetzt.Component.setAsmFramesComputationMode. Es wird durchInstrumentation.setAsmFramesComputationModeersetzt.ComponentBuilder.enabled. Es wird durchComponentBuilder.enableersetzt.DependenciesInfoBuilder.includedInApk. Es wird durchincludeInApkersetzt.DependenciesInfoBuilder.includedInBundle. Es wird durchincludeInBundleersetzt.GeneratesApk.targetSdkVersion. Es wird durchtargetSdkersetzt.Variant.minSdkVersion. Es wird durchminSdkersetzt.Variant.maxSdkVersion. Es wird durchmaxSdkersetzt.Variant.targetSdkVersion. Es wird durchtargetSdkersetzt.Variant.unitTest, da sie nicht für dascom.android.test-Plug-in galt.unitTestist fürVariantBuilder-Untertypen verfügbar, dieHasUnitTesterweitern.VariantBuilder.targetSdkundtargetSdkPreview, da sie in Bibliotheken nicht sinnvoll waren. Verwenden Sie stattdessenGeneratesApkBuilder.targetSdkoderGeneratesApkBuilder.targetSdkPreview.VariantBuilder.enableUnitTest, da sie nicht für dascom.android.test-Plug-in galt.enableUnitTestist fürVariantBuilder-Untertypen verfügbar, dieHasUnitTestBuildererweitern.VariantBuilder.unitTestEnabledwird zugunsten vonenableUnitTestentfernt, das in den Untertypen vonVariantBuilder, dieHasUnitTestBuildererweitern, einheitlicher benannt ist.VariantOutput.enable. Es wird durchenabledersetzt.Die verworfenen und deaktivierten
FeaturePluginundFeatureExtension.Die eingestellten und deaktivierten
BaseExtension.registerTransformAPIs, die nur noch vorhanden waren, um die Kompilierung mit der neuesten AGP-Version zu ermöglichen, während die Ausführung auf AGP 4.2 oder niedriger erfolgte.
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
}
} |
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 |
|
|||
| Lint |
|
|||
Android-Gradle-Plug-in 9.0.0-alpha09
| Behobene Probleme | ||||
|---|---|---|---|---|
| Android-Gradle-Plug-in |
|
|||
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 |
|
||||||||
Android-Gradle-Plug-in 9.0.0-alpha06
| Behobene Probleme | |||||
|---|---|---|---|---|---|
| Android-Gradle-Plug-in |
|
||||
| Lint |
|
||||
Android-Gradle-Plug-in 9.0.0-alpha05
| Behobene Probleme | |||||
|---|---|---|---|---|---|
| Android-Gradle-Plug-in |
|
||||
| Lint |
|
||||
Android-Gradle-Plug-in 9.0.0-alpha04
| Behobene Probleme | ||||
|---|---|---|---|---|
| Android-Gradle-Plug-in |
|
|||
| Lint |
|
|||
Android-Gradle-Plug-in 9.0.0-alpha03
| Behobene Probleme | ||||
|---|---|---|---|---|
| Android-Gradle-Plug-in |
|
|||
| Lint |
|
|||
Android-Gradle-Plug-in 9.0.0-alpha02
| Behobene Probleme | ||||
|---|---|---|---|---|
| Android-Gradle-Plug-in |
|
|||
Android-Gradle-Plug-in 9.0.0-alpha01
| Behobene Probleme | |||||||
|---|---|---|---|---|---|---|---|
| Android-Gradle-Plug-in |
|
||||||