Kotlin DSL ist die Standardsprache für die Build-Konfiguration
Für neue Projekte wird jetzt standardmäßig die Kotlin DSL (build.gradle.kts) für die Build-Konfiguration verwendet. Das bietet eine bessere Bearbeitungsmöglichkeit als die Groovy DSL (build.gradle) mit Syntaxhervorhebung, Codevervollständigung und Navigation zu Deklarationen. Wenn Sie AGP 8.1 und die Kotlin-DSL für die Build-Konfiguration verwenden, sollten Sie Gradle 8.1 verwenden, um die beste Leistung zu erzielen. Weitere Informationen finden Sie im Migrationsleitfaden für Kotlin DSL.
Automatische App-spezifische Sprachunterstützung
Ab Android Studio Giraffe Canary 7 und AGP 8.1.0-alpha07 können Sie Ihre App so konfigurieren, dass sie automatisch Spracheinstellungen pro App unterstützt. Das Android Gradle-Plug-in generiert anhand Ihrer Projektressourcen die LocaleConfig-Datei und fügt der endgültigen Manifestdatei einen Verweis darauf hinzu. Sie müssen das also nicht mehr manuell tun. AGP verwendet die Ressourcen in den res-Ordnern Ihrer App-Module und alle Bibliotheksmodulabhängigkeiten, um die Sprachen zu ermitteln, die in die LocaleConfig-Datei aufgenommen werden sollen.
Die automatische Spracheneinstellung pro App wird von Apps unterstützt, auf denen Android 13 (API-Level 33) oder höher ausgeführt wird. Wenn Sie die Funktion verwenden möchten, müssen Sie compileSdkVersion auf mindestens 33 festlegen. Wenn Sie Spracheinstellungen pro App für ältere Android-Versionen konfigurieren möchten, müssen Sie weiterhin die APIs und die In-App-Sprachauswahl verwenden.
Wenn Sie die automatische Sprachunterstützung pro App aktivieren möchten, geben Sie ein Standard-Standortkontext fest:
Erstellen Sie im Ordner res des App-Moduls eine neue Datei mit dem Namen resources.properties.
Legen Sie in der Datei resources.properties die Standardsprache mit dem Label unqualifiedResLocale fest. Um die Namen der Gebietsschemas zu bilden, kombinieren Sie den Sprachcode mit den optionalen Schrift- und Regionscodes und trennen Sie sie durch einen Bindestrich:
Sprache: Verwenden Sie den zwei- oder dreistelligen ISO 639-1-Code.
Schrift (optional): Verwenden Sie den ISO 15924-Code.
Region (optional): Verwenden Sie entweder den zweistelligen ISO 3166-1-alpha-2-Code oder den dreistelligen UN_M.49-Code.
Angenommen, Ihre Standardsprache ist amerikanisches Englisch:
unqualifiedResLocale=en-US
AGP fügt diese Standard- und alle von Ihnen angegebenen alternativen Sprachen über values-*-Verzeichnisse im Ordner res der automatisch generierten LocaleConfig-Datei hinzu.
Die automatische Sprachunterstützung pro App ist standardmäßig deaktiviert. Wenn Sie die Funktion aktivieren möchten, verwenden Sie die Einstellung generateLocaleConfig im Block androidResources {} der build.gradle.kts-Datei auf Modulebene (build.gradle-Datei, wenn Sie Groovy verwenden):
Android Lint enthält Bytecode, der auf JVM 17 ausgerichtet ist
Ab AGP 8.1.0-alpha04 enthält Android Lint Bytecode, der auf die JVM 17 ausgerichtet ist. Wenn Sie benutzerdefinierte Lint-Prüfungen schreiben, müssen Sie mit JDK 17 oder höher kompilieren und jvmTarget = '17' in den Kotlin-Compileroptionen angeben.
Einstellung für die Komprimierung nativer Bibliotheken in DSL verschoben
Ab AGP 8.1.0-alpha10 erhalten Sie eine Warnung, wenn Sie die Komprimierung der nativen Bibliothek nicht mit der DSL anstelle des Manifests konfigurieren. In der folgenden Anleitung wird beschrieben, wie Sie Ihre Konfiguration für die Verwendung des DSL aktualisieren. Wenn Sie Hilfe bei diesen Updates benötigen, verwenden Sie den AGP-Upgrade-Assistenten (Tools > AGP-Upgrade-Assistent).
Wenn Sie nicht komprimierte native Bibliotheken verwenden möchten, entfernen Sie das Attribut android::extractNativeLibs aus dem Manifest und fügen Sie der Datei build.gradle.kts auf Modulebene (build.gradle-Datei bei Verwendung von Groovy) den folgenden Code hinzu:
Wenn Sie diese Option aktivieren, ohne Signaturkonfigurationen anzugeben, verwendet AGP die Standardkonfiguration für die Debug-Signatur, wenn ein profilierbarer oder debuggbarer Build ausgeführt wird. Dieses Flag ist standardmäßig deaktiviert, um Build-Autoren zu ermutigen, bestimmte Konfigurationen für die Signatur beim Profiling anzugeben.
android.experimental.library.desugarAndroidTest
AGP 8.0
false
Mit diesem Flag können Bibliotheksbauer die Desugaring der zentralen Bibliothek für Test-APKs aktivieren, ohne dass sich dies auf das erstellte AAR auswirkt, z. B. durch Linting.
Wir planen, dieses Verhalten in der Variant API zu unterstützen.
Wenn diese Option aktiviert ist, können Sie mit Gradle Managed Devices einen benutzerdefinierten Gerätetyp verwenden, der von einem Plug-in bereitgestellt wird. Dieses Flag muss aktiviert sein, wenn Sie das Firebase Test Lab-Plug-in verwenden möchten.
android.lint.printStackTrace
AGP 8.0
false
Wenn diese Option aktiviert ist, gibt Android Lint bei einem Absturz einen Stacktrace aus. Dieses Flag hat dieselben Funktionen wie die Umgebungsvariable LINT_PRINT_STACKTRACE.
Gibt die maximale Anzahl von gleichzeitig aktiven Gradle-verwalteten Geräten (AVDs) an. Wenn der Wert 0 oder negativ ist, gibt es keine maximale Geräteanzahl.
Fehler: Wenn Sie „KSP aktivieren und stattdessen den KSP-Prozessor für diese Abhängigkeit verwenden“ auswählen, werden Sie nur zu einer Website weitergeleitet.
[AGP 8.1.0] ./gradlew test schlägt mit der Meldung „Manifest-Ausgabe konnte nicht gefunden werden“ fehl, wenn sowohl „splits.abi.isEnable“ als auch „testOptions.unitTests.isIncludeAndroidResources“ auf „true“ gesetzt sind
[AGP 8.1.0] ./gradlew test schlägt mit der Meldung „Manifest-Ausgabe konnte nicht gefunden werden“ fehl, wenn sowohl splits.abi.isEnable als auch testOptions.unitTests.isIncludeAndroidResources auf „wahr“ gesetzt sind
De-Xing-Aufgabe nicht für Klassen von Unterprojekten ausführen, wenn sie bereits durch Artefakttransformationen de-Xt wurden
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.