Wtyczka Androida do obsługi Gradle 7.2.0 (maj 2022 r.)
Wtyczka Androida do obsługi Gradle w wersji 7.2.0 to duża wersja, która zawiera wiele nowych funkcji i udoskonaleń.
Ta drobna aktualizacja odpowiada opublikowaniu poprawki do chipmunk w Android Studio i zawiera te poprawki:
- Problem nr 232438924: AndroidGradlePlugin w wersji 7.2 powoduje uszkodzenie interfejsu API przekształcania, gdy jest używany razem z interfejsem ASM API.
- Problem #231037948: AGP 7.2.0-rc01 :buildSrc:generatePrebuilddScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
Ta drobna aktualizacja odpowiada wydaniu poprawki 1 chipmunk w Android Studio i zawiera te poprawki:
- Problem #230361284: narzędzie pakietu nie tworzy prawidłowo pakietu profili podstawowych
Informacje o innych poprawkach wprowadzonych w tej wersji znajdziesz w informacjach o wersji wprowadzonych w usłudze Android Studio Chipmunk Patch.
Zgodność
Wersja minimalna | Wersja domyślna | |
---|---|---|
Gradle | 7.3.3 | 7.3.3 |
Narzędzia do kompilacji SDK | 30,0.3 | 30,0.3 |
Zestaw NDK | Nie dotyczy | 21.4.7075529 |
JDK | 11 | 11 |
Ostrzeżenie Jetifier i sprawdź w Analizatorze kompilacji
Analizator kompilacji wyświetla teraz ostrzeżenie, jeśli plik gradle.properties
projektu zawiera android.enableJetifier=true
. Ta flaga została wprowadzona we wcześniejszej wersji Android Studio, aby umożliwić działanie AndroidaX w bibliotekach, które nie obsługują AndroidaX natywnie. Jednak ekosystem biblioteki przeniósł się głównie na natywnie bezpośrednio obsługiwać AndroidaX i flaga Jetifier prawdopodobnie nie jest już potrzebna w Twoim projekcie. Dodatkowo flaga może spowolnić kompilację. Jeśli zobaczysz to ostrzeżenie, możesz uruchomić sprawdzanie w Analizatorze kompilacji, aby sprawdzić, czy flagę można usunąć.
Obsługa osprzętu testowego
Począwszy od Android Studio Chipmunk w wersji beta 1, Android Studio obsługuje sprzęt testowy zarówno na Androidzie, jak i w Javie. Zapoznaj się z przewodnikiem Gradle dotyczącym używania osprzętu testowego{:.external}, aby uzyskać więcej informacji o funkcji sprzętu testowego i dowiedzieć się, jak używać jej w projekcie Java.
Aby włączyć osprzęt testowy w module biblioteki na Androidzie, dodaj ten kod do pliku build.gradle
na poziomie biblioteki:
android {
testFixtures {
enable true
// enable testFixtures's android resources (disabled by default)
// androidResources true
}
}
Domyślnie opublikowanie biblioteki powoduje też opublikowanie AAR urządzeń testowych w bibliotece głównej. Plik metadanych modułu Gradle zawiera informacje, które pozwalają Gradle na użycie odpowiedniego artefaktu podczas wysyłania żądania dotyczącego komponentu testFixtures
.
Aby wyłączyć publikowanie oprogramowania testowego AAR biblioteki w wariancie wersji, dodaj ten kod do pliku build.gradle
na poziomie biblioteki:
afterEvaluate {
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}
Aby korzystać z urządzeń testowych AAR opublikowanej biblioteki Androida, możesz użyć metody pomocniczej Gradle testFixtures()
.
dependencies {
testImplementation testFixtures('com.example.company:publishedLib:1.0')
}
Domyślnie Lint będzie analizować źródła osprzętu testowego. Możesz skonfigurować lint tak, aby ignorował źródła sprzętu testowego:
android {
lint {
ignoreTestFixturesSources true
}
}
Powielone treści główne nie są obsługiwane
Od wersji AGP 7.2 nie można już udostępniać tego samego katalogu źródłowego w wielu zbiorach źródłowych. Nie możesz na przykład używać tych samych źródeł testów zarówno dla testów jednostkowych, jak i testów z instrumentacją. Więcej informacji znajdziesz w artykule o zmienianiu konfiguracji domyślnych zbiorów źródeł.