Das Android-Gradle-Plug-in 8.3.0 ist eine Hauptversion mit einer Vielzahl neuer Funktionen und Verbesserungen.
Kompatibilität
Das maximale API-Level, das vom Android-Gradle-Plugin 8.3 unterstützt wird, ist API-Level 34. Weitere Informationen zur Kompatibilität:
Mindestversion | Standardversio | Hinweise | |
---|---|---|---|
Gradle | 8,4 | 8,4 | 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 | – | 25.1.8937393 | Installieren oder konfigurieren Sie eine andere Version des NDK. |
JDK | 17 | 17 | Weitere Informationen finden Sie unter JDK-Version festlegen. |
Im Android-Gradle-Plug-in 8.3 sind folgende neue Funktionen verfügbar.
Patch releases
Im Folgenden finden Sie eine Liste der Patch-Releases in Android Studio Iguana und Android-Gradle-Plug-in 8.3.
Android Studio Iguana | 2023.2.1 Patch 2 und AGP 8.3.2 (April 2024)
Dieses kleinere Update enthält diese Fehlerkorrekturen.
Android Studio Iguana | 2023.2.1 Patch 1 und AGP 8.3.1 (März 2024)
Dieses kleinere Update enthält diese Fehlerkorrekturen.
Unterstützung von Gradle-Versionskatalogen
Android Studio unterstützt TOML-basierte Gradle-Versionskataloge. Mit dieser Funktion können Sie Abhängigkeiten an einem zentralen Ort verwalten und Abhängigkeiten für Module oder Projekte freigeben. In Android Studio ist es jetzt einfacher, Versionskataloge zu konfigurieren. Dazu werden Vorschläge im Editor und eine Integration in das Dialogfeld Projektstruktur verwendet. Informationen zum Einrichten und Konfigurieren von Gradle-Versionskatalogen Informationen zum Migrieren Ihres Builds zu Versionskatalogen
Codevervollständigung und ‑navigation
Android Studio bietet die automatische Vervollständigung von Code, wenn Sie einen Versionskatalog im TOML-Dateiformat bearbeiten oder eine Abhängigkeit aus einem Versionskatalog in eine Build-Datei einfügen. Wenn Sie die Codevervollständigung verwenden möchten, drücken Sie Strg + Leertaste (Befehlstaste + Leertaste auf macOS). Außerdem können Sie schnell von einem Abhängigkeitsverweis in der build.gradle
-Datei Ihrer App zu der Stelle navigieren, an der er im Versionskatalog deklariert ist. Drücken Sie dazu Strg+B (Befehl+B unter macOS).
Integration in das Dialogfeld „Project Structure“ (Projektstruktur)
Wenn in Ihrem Projekt ein Versionskatalog verwendet wird, der im TOML-Dateiformat definiert ist, können Sie die darin definierten Variablen in Android Studio über das Dialogfeld Projektstruktur in der Ansicht Variablen (Datei > Projektstruktur > Variablen) bearbeiten. Für jeden Versionskatalog gibt es ein Drop-down-Menü mit den Variablen aus diesem Katalog. Wenn Sie eine Variable bearbeiten möchten, klicken Sie auf ihren Wert und überschreiben Sie ihn. Wenn Sie diese Änderungen speichern, wird die TOML-Datei entsprechend aktualisiert.
Sie können Abhängigkeiten auch im Dialogfeld Projektstruktur in der Ansicht Abhängigkeiten (Datei > Projektstruktur > Abhängigkeiten) aktualisieren. Wenn Sie Versionen über das Dialogfeld Projektstruktur aktualisieren möchten, rufen Sie das Modul und die Abhängigkeit auf, die Sie bearbeiten möchten, und aktualisieren Sie dann das Feld Angefragte Version. Wenn Sie diese Änderungen speichern, wird die TOML-Datei entsprechend aktualisiert. Wenn die Abhängigkeitsversion mit einer Variablen definiert wurde, wird die Variable durch das direkte Aktualisieren der Version durch einen fest codierten Wert ersetzt. Wenn Sie eine Abhängigkeit aus einer Build-Datei entfernen, wird sie nicht aus dem Versionskatalog entfernt, unabhängig davon, ob Sie das Dialogfeld Projektstruktur verwenden.
Bekannte Probleme und Einschränkungen
Die folgenden Probleme oder Einschränkungen sind bei der Unterstützung von Gradle-Versionskatalogen in Android Studio bekannt.
Fehler beim Hervorheben von Aliasdeklarationen für Plug-ins in Kotlin-Skriptdateien: Wenn Sie eine Plug-in-Deklaration der Form
alias(libs.plugins.example)
hinzufügen, wird im Editor der Teillibs
rot unterstrichen. Dies ist ein bekanntes Problem in Gradle-Versionen 8.0 und niedriger. Es wird in einer zukünftigen Version von Gradle behoben.Android Studio-Unterstützung nur für Versionskataloge im TOML-Format: Derzeit sind die Android Studio-Unterstützung für die automatische Vervollständigung von Code, die Navigation und das Dialogfeld „Projektstruktur“ nur für Versionskataloge verfügbar, die im TOML-Dateiformat definiert sind. Sie können jedoch weiterhin einen Versionskatalog direkt in der Datei
settings.gradle
hinzufügen und seine Abhängigkeiten in Ihrem Projekt verwenden.Navigation für KTS-Build-Dateien nicht unterstützt: Das Aufrufen einer Abhängigkeitsdefinition in einem Versionskatalog mit Strg+Klick (Befehlstaste+Klick unter macOS) wird für Build-Dateien, die mit Kotlin-Script geschrieben wurden, noch nicht unterstützt.
Firebase Assistant fügt Abhängigkeiten direkt in Build-Skripten hinzu: Der Firebase Assistant fügt Abhängigkeiten direkt in Ihre Build-Skripte ein, anstatt über Versionskataloge.
Funktion „Verwendungen suchen“ nicht unterstützt: Die Suche nach Verwendungen einer Versionskatalogvariablen in anderen Build-Dateien wird noch nicht unterstützt, unabhängig davon, ob die Build-Datei in KTS oder Groovy ist. Das heißt, wenn Sie in einem Versionskatalog mit Strg+Klick (Befehl+Klick unter macOS) auf eine Variablendefinition klicken, werden Sie nicht zu den Build-Dateien weitergeleitet, in denen die Variable verwendet wird.
Im Dialogfeld „Project Structure“ (Projektstruktur) in Android Studio werden mehrere Katalogdateien angezeigt, wenn sie sich im Stammordner
gradle
befinden. Kataloge für einen zusammengesetzten Build werden jedoch nicht angezeigt. Wenn Sie beispielsweise zwei Katalogdateien haben – eine für Ihre App und eine für einen Composite Build –, wird im Dialogfeld „Project Structure“ (Projektstruktur) nur die App-Katalogdatei angezeigt. Sie können einen zusammengesetzten Build verwenden, müssen aber die TOML-Datei direkt bearbeiten.
Zusätzliche SDK-Statistiken: Richtlinienverstöße
In Android Studio werden Lint-Warnungen in build.gradle.kts
- und build.gradle
-Dateien sowie im Dialogfeld „Projektstruktur“ für öffentliche SDKs angezeigt, die Richtlinienverstöße bei Google Play im Google Play SDK Index aufweisen. Sie sollten alle Abhängigkeiten aktualisieren, die gegen die Play-Richtlinien verstoßen, da diese Verstöße verhindern könnten, dass Sie in Zukunft in der Google Play Console veröffentlichen. Die Warnungen zu Richtlinienverstößen ergänzen die Warnungen zu veralteten Versionen, die in Android Studio angezeigt werden.
Unterstützung der compileSdk-Version in Android Studio
In Android Studio wird eine Warnung angezeigt, wenn in Ihrem Projekt eine compileSdk
verwendet wird, die von der aktuellen Version von Android Studio nicht unterstützt wird. Falls verfügbar, wird auch vorgeschlagen, zu einer Version von Android Studio zu wechseln, die die von Ihrem Projekt verwendete compileSdk
unterstützt. Wenn Sie Android Studio aktualisieren, müssen Sie möglicherweise auch AGP aktualisieren.
AGP zeigt außerdem eine Warnung im Toolfenster Build an, wenn die compileSdk
, die von Ihrem Projekt verwendet wird, von der aktuellen Version von AGP nicht unterstützt wird.
Änderungen am Lint-Verhalten
Ab Android-Gradle-Plug-in 8.3.0-alpha02 werden beim Ausführen von „lint“ für ein Modul separate Lint-Analyseaufgaben für die Haupt- und Testkomponenten des Moduls ausgeführt. Der Grund für diese Änderung ist die Verbesserung der Leistung.
Wenn Sie zum früheren Verhalten zurückkehren möchten, legen Sie android.experimental.lint.analysisPerComponent=false
in Ihrer gradle.properties
-Datei fest.
Präzise Entfernung von Ressourcen standardmäßig aktiviert
Die genaue Ressourcenverkleinerung, bei der nicht verwendete Einträge aus der Datei resources.arsc
entfernt und nicht verwendete Ressourcendateien gelöscht werden, ist standardmäßig aktiviert.
Wenn diese Funktion aktiviert ist, wird die Ressourcentabelle reduziert und nur referenzierte res
-Ordner-Einträge werden in das APK aufgenommen.
Wenn Sie die präzise Ressourcenverkleinerung deaktivieren möchten, legen Sie in der Datei gradle.properties
Ihres Projekts android.enableNewResourceShrinker.preciseShrinking
auf false
fest.
Behobene Probleme
Android-Gradle-Plug-in 8.3.0
Behobene Probleme | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Android-Gradle-Plug-in |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Dexer (D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Lint-Integration |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Shrinker (R8) |
|
Android-Gradle-Plug-in 8.3.1
Behobene Probleme | ||
---|---|---|
Android-Gradle-Plug-in |
|
|
Lint-Integration |
|
Android-Gradle-Plug-in 8.3.2
Behobene Probleme | |||
---|---|---|---|
Android-Gradle-Plug-in |
|
||
Lint-Integration |
|