Versionshinweise zum Android-Gradle-Plug-in 8.9

Das JCenter-Repository wurde am 31. März 2021 schreibgeschützt. Weitere Informationen finden Sie unter JCenter-Dienstaktualisierung.

Das Android Studio-Build-System basiert auf Gradle. Das Android Gradle-Plug-in bietet mehrere Funktionen, die speziell für das Erstellen von Android-Apps entwickelt wurden. Das Android Gradle-Plug-in (AGP) wird in der Regel gleichzeitig mit Android Studio aktualisiert. Es kann jedoch unabhängig von Android Studio ausgeführt und separat aktualisiert werden.

Auf dieser Seite wird erläutert, wie Sie Ihre Gradle-Tools auf dem neuesten Stand halten und was die letzten Updates enthalten. Versionshinweise zu früheren Android-Gradle-Plug-in-Versionen finden Sie hier.

Informationen dazu, was in dieser Version des Android Gradle-Plug-ins behoben wurde, finden Sie in der Liste der geschlossenen Probleme.

Eine allgemeine Zusammenfassung der bevorstehenden bahnbrechenden Änderungen am Android Gradle-Plug-in finden Sie in der Roadmap für das Android Gradle-Plug-in.

Weitere Informationen zum Konfigurieren Ihrer Android-Builds mit Gradle finden Sie auf den folgenden Seiten:

Weitere Informationen zum Gradle-Buildsystem finden Sie im Gradle-Nutzerhandbuch.

Android-Gradle-Plug-in aktualisieren

Wenn Sie Android Studio aktualisieren, werden Sie möglicherweise aufgefordert, das Android Gradle-Plug-in automatisch auf die neueste verfügbare Version zu aktualisieren. Sie können das Update akzeptieren oder eine Version basierend auf den Buildanforderungen Ihres Projekts manuell angeben.

Sie können die Plug-in-Version entweder im Menü File > Project Structure > Project (Datei > Projektstruktur > Projekt) in Android Studio oder in der obersten build.gradle.kts-Datei angeben. Die Plug-in-Version gilt für alle Module, die in diesem Android Studio-Projekt erstellt wurden. Im folgenden Beispiel wird das Plug-in anhand der Datei build.gradle.kts auf Version 8.9.0 festgelegt:

Kotlin

plugins {
    id("com.android.application") version "8.9.0" apply false
    id("com.android.library") version "8.9.0" apply false
    id("org.jetbrains.kotlin.android") version "2.1.10" apply false
}

Groovy

plugins {
    id 'com.android.application' version '8.9.0' apply false
    id 'com.android.library' version '8.9.0' apply false
    id 'org.jetbrains.kotlin.android' version '2.1.10' apply false
}

Achtung:Sie sollten keine dynamischen Abhängigkeiten in Versionsnummern wie 'com.android.tools.build:gradle:8.9.+' verwenden. Die Verwendung dieser Funktion kann zu unerwarteten Versionsupdates und Schwierigkeiten bei der Behebung von Versionsunterschieden führen.

Wenn die angegebene Plug-in-Version nicht heruntergeladen wurde, wird sie von Gradle beim nächsten Build des Projekts heruntergeladen oder Sie klicken in der Android Studio-Menüleiste auf File > Sync Project with Gradle Files.

Gradle aktualisieren

Wenn Sie Android Studio aktualisieren, werden Sie möglicherweise aufgefordert, auch Gradle auf die neueste verfügbare Version zu aktualisieren. Sie können das Update akzeptieren oder eine Version basierend auf den Buildanforderungen Ihres Projekts manuell angeben.

In der folgenden Tabelle ist aufgeführt, welche Gradle-Version für jede Version des Android-Gradle-Plug-ins erforderlich ist. Für eine optimale Leistung sollten Sie die jeweils neueste Version von Gradle und des Plug-ins verwenden.

Plug-in-VersionErforderliche Mindestversion von Gradle
8.98.11.1
8.88.10.2
8.78.9
8.68.7
8.58.7
8,48.6
8,38,4
8.28.2
8.18.0
8.08.0
7.47,5

Ältere Versionen

Plug-in-VersionErforderliche Gradle-Version
7.37.4
7,27.3.3
7.17,2
77
4.2.0 und höher6.7.1
4.1.0 und höher6,5 und höher
4.0.0 und höher6.1.1 und höher
3.6.0 – 3.6.45.6.4 und höher
3.5.0 – 3.5.45.4.1 und höher
3.4.0 – 3.4.35.1.1 und höher
3.3.0 – 3.3.34.10.1 und höher
3.2.0 – 3.2.14.6+
3.1.0 und höher4.4 und höher
3.0.0 und höher4.1 und höher
2.3.0 und höher3.3 und höher
2.1.3 – 2.2.32.14.1 – 3.5
2.0.0 bis 2.1.22.10 – 2.13
1.5.02.2.1 – 2.13
1.2.0 – 1.3.12.2.1 – 2.9
1.0.0 – 1.1.32.2.1 – 2.3

Sie können die Gradle-Version entweder über das Menü File > Project Structure > Project in Android Studio angeben oder sie über die Befehlszeile aktualisieren. Am besten verwenden Sie das Befehlszeilentool Gradle Wrapper, mit dem die gradlew-Scripts aktualisiert werden. Im folgenden Beispiel wird die Gradle-Version mit dem Gradle-Wrapper auf 8.9 festgelegt. Hinweis: Sie müssen diesen Befehl zweimal ausführen, um sowohl Gradle als auch den Gradle-Wrapper selbst zu aktualisieren. Weitere Informationen finden Sie unter Gradle-Wrapper aktualisieren.

gradle wrapper --gradle-version 8.9

In einigen Fällen kann dies jedoch fehlschlagen, z. B. wenn Sie AGP gerade aktualisiert haben und es nicht mehr der aktuellen Gradle-Version entspricht. In diesem Fall müssen Sie die Gradle-Verweisdatei in der Datei gradle/wrapper/gradle-wrapper.properties bearbeiten. Im folgenden Beispiel wird die Gradle-Version in der Datei gradle-wrapper.properties auf 8.9 festgelegt.

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.9-bin.zip
...

Kompatibilität zwischen Android-Gradle-Plug-in und Android Studio

Das Android Studio-Build-System basiert auf Gradle. Das Android Gradle-Plug-in (AGP) bietet mehrere Funktionen, die speziell für das Erstellen von Android-Apps entwickelt wurden. In der folgenden Tabelle ist aufgeführt, welche AGP-Version für jede Android Studio-Version erforderlich ist.

Android Studio-Version Erforderliche AGP-Version
Meerkat | 2024.3.1 3.2–8.9
Ladybug-Feature Drop | 2024.2.2 3.2–8.8
Marienkäfer | 2024.2.1 3.2–8.7
Koala-Feature Drop | 2024.1.2 3.2–8.6
Koala | 2024.1.1 3.2–8.5
Jellyfish | 2023.3.1 3.2–8.4
Iguana | 2023.2.1 3.2–8.3
Hedgehog | 2023.1.1 3.2–8.2
Giraffe | 2022.3.1 3.2–8.1
Flamingo | 2022.2.1 3.2–8.0

Ältere Versionen

Android Studio-Version Erforderliche AGP-Version
Electric Eel | 2022.1.1 3.2–7.4
Dolphin | 2021.3.1 3.2–7.3
Chipmunk | 2021.2.1 3.2–7.2
Bumblebee | 2021.1.1 3.2-7.1
Arctic Fox | 2020.3.1 3.1–7.0

Informationen zu den Neuerungen im Android Gradle-Plug-in finden Sie in den Versionshinweisen zum Android Gradle-Plug-in.

Mindestversionen von Tools für Android-API-Level

Es gibt Mindestversionen von Android Studio und AGP, die eine bestimmte API-Ebene unterstützen. Wenn Sie eine niedrigere Version von Android Studio oder AGP verwenden, als für die targetSdk oder compileSdk Ihres Projekts erforderlich ist, kann das zu unerwarteten Problemen führen. Wir empfehlen, die neueste Vorabversion von Android Studio und AGP zu verwenden, wenn Sie an Projekten arbeiten, die auf Vorabversionen des Android-Betriebssystems ausgerichtet sind. Sie können Vorabversionen von Android Studio neben einer stabilen Version installieren.

Die Mindestversionen von Android Studio und AGP sind:

API-Ebene Mindestversion von Android Studio Mindestversion von AGP
Baklava-Vorabversion Meerkat | 2024.3.1 8.9.0
35 Koala-Feature Drop | 2024.2.1 8.6.0
34 Hedgehog | 2023.1.1 8.1.1
33 Flamingo | 2022.2.1 7,2

Änderungen bei der Versionierung (November 2020)

Wir aktualisieren die Versionsnummer des Android Gradle-Plug-ins (AGP), damit sie besser mit dem zugrunde liegenden Gradle-Build-Tool übereinstimmt.

Hier sind die wichtigsten Änderungen:

  • Für AGP wird jetzt die semantische Versionierung verwendet und funktionsgefährdende Änderungen werden auf Hauptversionen ausgerichtet.

  • Es wird pro Jahr eine Hauptversion von AGP veröffentlicht, die mit dem Hauptrelease von Gradle übereinstimmt.

  • Die Version nach AGP 4.2 ist Version 7.0 und erfordert ein Upgrade auf Gradle 7.x. Jede Hauptversion von AGP erfordert ein Upgrade der Hauptversion des zugrunde liegenden Gradle-Tools.

  • APIs werden ungefähr ein Jahr im Voraus eingestellt. Gleichzeitig werden Ersatzfunktionen verfügbar gemacht. Eingestellte APIs werden etwa ein Jahr später beim nächsten größeren Update entfernt.

Kompatibilität

Das Android Gradle-Plug-in 8.9 unterstützt das API-Level 35. Weitere Informationen zur Kompatibilität:

Mindestversion Standardversio Hinweise
Gradle 8.11.1 8.11.1 Weitere Informationen finden Sie unter Gradle aktualisieren.
SDK-Build-Tools 35.0.0 35.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.

Behobene Probleme

Android Gradle-Plug-in 8.9.0

Behobene Probleme
Android Gradle Plugin
Eine ausführbare Fehlermeldung anzeigen, wenn die GMD-Einrichtungsaufgabe aufgrund von zu wenig Speicherplatz fehlschlägt
Das Plug-in „com.android.settings“ erkennt „targetSdk“ nicht
Unnützer Fehler „compileSdkVersion is not specified“ Bitte fügen Sie es in build.gradle ein.“
„Clean build“ fehlt im Build-Menü
Die integrierte Kotlin-Unterstützung von AGP sollte die Abhängigkeit von der Kotlin-Standardbibliothek automatisch hinzufügen.
shouldConfigureKotlinPlatformAttribute für die integrierte Kotlin-Unterstützung aktualisieren
Kotlin-Gradle-Syntax in Fehlermeldung für „checkTestedAppObfuscationRelease“ angeben
Fehler bei der Fusionsbibliothek, wenn eine nicht aufgelöste Abhängigkeit verbessert werden könnte
Systemeigenschaften aus gradle.properties werden nicht in separaten Prozessen an R8-Gradle-Worker übergeben
BuiltArtifact.outputFile als Dateityp festlegen
Wenn kein Namespace für die verschmolzene Bibliothek angegeben wird, wird keine gute Fehlermeldung ausgegeben
Die Lint-Optionen in AGP 7.1.0-alpha08 erlauben kein stdout
Android Gradle Plugin: Varianten sollten Quellsatznamen enthalten
Der Konfigurationscache ist empfindlich gegenüber der Einstellung der Umgebungsvariablen TERM
AndroidComponentsExtension.addSourceSetConfigurations funktioniert nicht, wenn Statistiken aktiviert sind
Initialisierungsskript „C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle“, Zeile 162
AndroidComponentsExtension.addSourceSetConfigurations funktioniert nicht, wenn Statistiken aktiviert sind
Dexer (D8)
java.lang.VerifyError: Verifier rejected class: [0x430] copy1 v2<-v264 type=Undefined cat=3
Fussel
Lint stürzt bei Lint-Gradle-Prüfungen ab
Lint schlägt mit InstantiationException ohne Ausnahmemeldung im Lint-Stacktrace fehl
Falsch positive Lint-Prüfung: android.permission.SCHEDULE_EXACT_ALARM wird nur System-Apps gewährt
Die Prüfung auf ungültige Formatstrings sollte auf die Compose stringResource-Methode angewendet werden
Die Anmerkung „RequiresFeature“ funktioniert nicht für Kotlin-Dateien
kotlin android.os.Handler removeCallbacks Runnable
WrongConstant-Lint bei Definition statt bei Verwendung einer Konstante mit Shift
Der Lint-Fehler „WrongConstant“ wird zweimal angezeigt
Laufzeitausnahme unter API 26 mit nicht unterstützter Java nio API (ohne Lint-Fehler)
Lint verhindert die Verwendung von RequiresApi auch bei privaten Hilfsmethoden in Tests
K2-Modus löst Warnung für RestrictedApi aus, wenn in Android Studio .hasRoute(Route::class) verwendet wird
Lint schlägt vor, @RequiresExtension in Tests durch @SdkSuppress zu ersetzen, das keine SDK-Erweiterungen unterstützt.
Lint meldet fälschlicherweise ein unnötiges verschachteltes Layout, wenn ein FrameLayout mit „fitSystemWindows“ verwendet wird, um ein untergeordnetes RelativeLayout zu umschließen, das benutzerdefinierte Ränder erfordert.
Die Lint-Regel „CoarseFineLocation“ berücksichtigt das Attribut „maxSdkVersion“ nicht
AppLinkSplitToWebAndCustom ist ein unbekanntes Problem in Lint 8.7.3
Lint-Prüfung: StringEscapeDetector stürzt bei „\\“ ab
Falsche Lint-Warnung für die Anmerkung „@Parcelize“ bei versiegelten Schnittstellen
AS 2024.3.1.4 hängt beim Bearbeiten von Kotlin-Texten gelegentlich.
Lint-Integration
lintVitalRelease wird beim Erstellen des App-Bundles nicht automatisch ausgeführt
Schrumpfgerät (R8)
Gson Proguard funktioniert nach dem Upgrade auf AGP 8.8 nicht richtig
java.lang.VerifyError: Verifier rejected class
Leanback stürzt ab, wenn es mit R8 minimiert wird, das in AGP 8.10.0-alpha04 enthalten ist