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 wersja główna, która zawiera wiele nowych funkcji i ulepszeń.
Ta niewielka aktualizacja odpowiada wydaniu Androida Studio Chipmunk w wersji 2 i zawiera te poprawki błędów:
- Problem 232438924: AndroidGradlePlugin w wersji 7.2 powoduje błędy w interfejsie Transform API, gdy jest używany z interfejsem ASM API
- Problem 231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
Ta niewielka aktualizacja odpowiada wersji Androida Studio Chipmunk Patch 1 i zawiera te poprawki błędów:
- Problem 230361284: narzędzie bundletool nieprawidłowo pakuje profile podstawowe
Aby zobaczyć inne poprawki błędów uwzględnione w tej wersji, zapoznaj się z informacjami o wersji Androida Studio Chipmunk Patch 1.
Zgodność
| Wersja minimalna | Wersja domyślna | Uwagi | |
|---|---|---|---|
| Gradle | 7.3.3 | 7.3.3 | Więcej informacji znajdziesz w artykule o aktualizowaniu Gradle. |
| Narzędzia do kompilacji pakietu SDK | 30.0.3 | 30.0.3 | Zainstaluj lub skonfiguruj narzędzia SDK do kompilacji. |
| NDK | Nie dotyczy | 21.4.7075529 | Zainstaluj lub skonfiguruj inną wersję NDK. |
| JDK | 11 | 11 | Więcej informacji znajdziesz w artykule o ustawianiu wersji JDK. |
Ostrzeżenie Jetifiera i sprawdzanie w Analizatorze kompilacji
Analizator kompilacji wyświetla teraz ostrzeżenie, jeśli plik gradle.properties projektu zawiera android.enableJetifier=true. Ten flag został wprowadzony w poprzedniej wersji Androida Studio, aby włączyć AndroidX w przypadku bibliotek, które nie obsługują go natywnie. Ekosystem bibliotek w większości przeszedł jednak na natywną obsługę AndroidaX, więc flaga Jetifier prawdopodobnie nie jest już potrzebna w Twoim projekcie. Może to również spowolnić proces kompilacji. Jeśli zobaczysz to ostrzeżenie, możesz uruchomić sprawdzanie w narzędziu Build Analyzer, aby potwierdzić, czy można usunąć flagę.
Obsługa testów
Od wersji beta 1 Androida Studio Chipmunk Android Studio obsługuje zarówno Androida, jak i Java Test Fixtures. Więcej informacji o funkcji test fixtures i sposobie jej używania w projekcie w Javie znajdziesz w przewodniku Gradle na temat używania test fixtures{:.external}.
Aby włączyć testowe elementy stałe w module biblioteki Androida, 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 publikacja biblioteki powoduje też opublikowanie pliku AAR z testami jednostkowymi wraz z biblioteką główną. Plik metadanych modułu Gradle będzie zawierać informacje, które umożliwią Gradle użycie odpowiedniego artefaktu podczas żądania komponentu testFixtures.
Aby wyłączyć publikowanie testowych plików AAR biblioteki w wersji produkcyjnej, dodaj do pliku build.gradle na poziomie biblioteki ten kod:
afterEvaluate {
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}
Aby użyć pliku AAR z testowymi elementami opublikowanej biblioteki na Androida, możesz skorzystać z metody pomocniczej Gradle testFixtures().
dependencies {
testImplementation testFixtures('com.example.company:publishedLib:1.0')
}
Domyślnie narzędzie lint analizuje źródła testów. Możesz skonfigurować narzędzie lint, aby ignorowało źródła testów w ten sposób:
android {
lint {
ignoreTestFixturesSources true
}
}
Zduplikowane katalogi główne treści nie są obsługiwane
Od AGP 7.2 nie możesz już udostępniać tego samego katalogu źródłowego w kilku zestawach źródeł. Nie możesz na przykład używać tych samych źródeł testowych zarówno w przypadku testów jednostkowych, jak i testów instrumentacyjnych. Więcej informacji znajdziesz w artykule Zmienianie domyślnych konfiguracji zestawów źródeł.