Wtyczka Androida do obsługi Gradle w wersji 7.2.0 (maj 2022 r.)
Wtyczka Androida do obsługi Gradle w wersji 7.2.0 to duża wersja, która zawiera różne nowe funkcje i ulepszenia.
Ta niewielka aktualizacja odpowiada wersji poprawki 2 w Android Studio i zawiera następujące poprawki błędów:
- Problem nr 232438924: gdy aplikacja AndroidGradlePlugin jest używana razem z interfejsem ASM API, powoduje uszkodzenie interfejsu Transform API w wersji 7.2.
- Problem nr 231037948: AGP 7.2.0-rc01 :buildSrc:generatePrebuilddScriptPluginAccessors – shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
Ta mała aktualizacja odnosi się do wydania poprawki 1 w Android Studio i zawiera następujące poprawki błędów:
- Problem nr 230361284: narzędzie bundletool nie tworzy prawidłowo pakietów profili podstawowych.
Aby poznać inne poprawki błędów w tej wersji, zapoznaj się z informacjami o wersji Androida Studio Chipmunk Patch 1.
Zgodność
Wersja minimalna | Wersja domyślna | |
---|---|---|
Gradle | 7.3.3 | 7.3.3 |
Narzędzia do tworzenia pakietów SDK | 30.0.3 | 30.0.3 |
NDK | Nie dotyczy | 21.4.7075529 |
JDK | 11 | 11 |
Ostrzeżenie Jetifiera 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 w poprzedniej wersji Android Studio, aby umożliwić obsługę AndroidaX w bibliotekach, które nie obsługują natywnie AndroidaX. Jednak ekosystem bibliotek przeniósł się głównie do natywnej obsługi AndroidaX, więc flaga Jetifiera prawdopodobnie nie jest już potrzebna w Twoim projekcie. Poza tym flaga może spowalniać kompilację. Jeśli zobaczysz to ostrzeżenie, możesz uruchomić sprawdzanie w Analizatorze kompilacji, aby sprawdzić, czy można usunąć flagę.
Obsługa sprzętu testowego
Począwszy od Android Studio Chipmunk w wersji beta 1, Android Studio obsługuje zarówno testy Androida, jak i Javy. Zapoznaj się z przewodnikiem Gradle dotyczącym używania osprzętu testowego {:.external}, aby uzyskać więcej informacji o funkcji urządzeń testowych i sposobie korzystania z niej w projekcie Java.
Aby włączyć rozwiązania testowe w module biblioteki Androida, dodaj do pliku build.gradle
na poziomie biblioteki ten kod:
android {
testFixtures {
enable true
// enable testFixtures's android resources (disabled by default)
// androidResources true
}
}
Domyślnie opublikowanie biblioteki powoduje też opublikowanie pakietu AAR sprzętu testowego z biblioteką główną. Plik metadanych modułu Gradle będzie zawierać informacje, dzięki którym Gradle będzie w stanie wykorzystać odpowiedni artefakt podczas żądania komponentu testFixtures
.
Aby wyłączyć publikowanie AAR dla urządzeń testowych w bibliotece w wariancie wersji, dodaj do pliku build.gradle
na poziomie biblioteki te informacje:
afterEvaluate {
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}
Aby wykorzystać AAR sprzętu testowego w opublikowanej bibliotece Androida, możesz użyć metody pomocniczej Gradle testFixtures()
.
dependencies {
testImplementation testFixtures('com.example.company:publishedLib:1.0')
}
Domyślnie lint analizuje źródła urządzeń testowych. Możesz skonfigurować lint tak, aby ignorował źródła osprzętu testowego:
android {
lint {
ignoreTestFixturesSources true
}
}
Zduplikowane katalogi główne treści 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. Na przykład nie możesz używać tych samych źródeł testów zarówno w przypadku testów jednostkowych, jak i testów instrumentacji. Więcej informacji znajdziesz w artykule o zmienianiu konfiguracji domyślnych zbiorów źródłowych.