Android-Gradle-Plug-in 7.2.0 (Mai 2022)
Das Android-Gradle-Plug-in 7.2.0 ist eine Hauptversion, die eine Vielzahl neuer Funktionen und Verbesserungen enthält.
Dieses untergeordnete Update entspricht der Veröffentlichung von Android Studio Chipmunk Patch 2 und enthält die folgenden Fehlerkorrekturen:
- Problem 232438924: AndroidGradlePlugin-Version 7.2 unterbricht die Transform API, wenn sie zusammen mit der ASM API verwendet wird
- Problem 231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
Dieses untergeordnete Update entspricht der Veröffentlichung von Android Studio Chipmunk Patch 1 und enthält die folgenden Fehlerkorrekturen:
- Problem 230361284: „bundletool“ verpackt Baseline-Profile nicht korrekt
Informationen zu den anderen Fehlerkorrekturen in dieser Version finden Sie in den Versionshinweisen zu Android Studio Chipmunk Patch 1.
Kompatibilität
Mindestversion | Standardversio | Hinweise | |
---|---|---|---|
Gradle | 7.3.3 | 7.3.3 | Weitere Informationen finden Sie unter Gradle aktualisieren. |
SDK-Build-Tools | 30.0.3 | 30.0.3 | Installieren oder Konfigurieren Sie die SDK-Build-Tools. |
NDK | – | 21.4.7075529 | Installieren oder konfigurieren Sie eine andere Version des NDK. |
JDK | 11 | 11 | Weitere Informationen finden Sie unter JDK-Version festlegen. |
Jetifier-Warnung und -Prüfung in Build Analyzer
Build Analyzer zeigt jetzt eine Warnung an, wenn die gradle.properties
-Datei Ihres Projekts android.enableJetifier=true
enthält. Dieses Flag wurde in einer früheren Version von Android Studio eingeführt, um AndroidX für Bibliotheken zu aktivieren, die AndroidX nicht nativ unterstützen. Die meisten Bibliotheken unterstützen AndroidX jedoch nativ und das Jetifier-Flag wird in Ihrem Projekt wahrscheinlich nicht mehr benötigt. Außerdem kann das Flag zu einer langsameren Build-Leistung führen. Wenn Sie diese Warnung sehen, können Sie mit Build Analyzer prüfen, ob das Flag entfernt werden kann.
Unterstützung für Test-Fixtures
Ab Android Studio Chipmunk Beta 1 unterstützt Android Studio sowohl Android- als auch Java-Testfixtures. Weitere Informationen zur Funktion „Test-Fixtures“ und zur Verwendung in einem Java-Projekt finden Sie im Gradle-Leitfaden zur Verwendung von Test-Fixtures{:.external}.
Wenn Sie Test-Fixtures in Ihrem Android-Bibliotheksmodul aktivieren möchten, fügen Sie der Datei build.gradle
auf Bibliotheksebene Folgendes hinzu:
android {
testFixtures {
enable true
// enable testFixtures's android resources (disabled by default)
// androidResources true
}
}
Wenn Sie Ihre Bibliothek veröffentlichen, wird standardmäßig auch das AAR-Test-Fixture mit der Hauptbibliothek veröffentlicht. Die Gradle-Modul-Metadatendatei enthält Informationen, damit Gradle das richtige Artefakt verwenden kann, wenn die Komponente testFixtures
angefordert wird.
Wenn Sie das Veröffentlichen des AAR-Test-Fixtures einer Bibliothek in der Release-Variante deaktivieren möchten, fügen Sie der build.gradle
-Datei auf Bibliotheksebene Folgendes hinzu:
afterEvaluate {
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}
Wenn Sie das AAR-Test-Fixture einer veröffentlichten Android-Bibliothek verwenden möchten, können Sie die Gradle-Hilfsmethode testFixtures()
verwenden.
dependencies {
testImplementation testFixtures('com.example.company:publishedLib:1.0')
}
Standardmäßig analysiert lint Test-Fixtures-Quellen. Sie können Lint so konfigurieren, dass Testfixture-Quellen ignoriert werden:
android {
lint {
ignoreTestFixturesSources true
}
}
Doppelte Inhalts-Roots werden nicht unterstützt
Ab AGP 7.2 können Sie nicht mehr dasselbe Quellverzeichnis für mehrere Quellsätze verwenden. Sie können beispielsweise nicht dieselben Testquellen für Unit- und Instrumentierungstests verwenden. Weitere Informationen finden Sie unter Standardkonfigurationen für Quellsets ändern.