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 ważna wersja, która zawiera wiele nowych funkcji i ulepszeń.
Ta niewielka aktualizacja odpowiada wydaniu Androida Studio Chipmunk w wersji Patch 2 i zawiera te poprawki błędów:
- Problem 232438924: wersja 7.2 wtyczki AndroidGradlePlugin powoduje przerwanie działania interfejsu Transform API, gdy jest używana razem z interfejsem ASM API.
- Problem 231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors – shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
Ta niewielka aktualizacja odpowiada wydaniu Androida Studio Chipmunk Patch 1 i zawiera te poprawki błędów:
- Problem nr 230361284: narzędzie bundletool nieprawidłowo pakuje profile bazowe
Aby zobaczyć inne poprawki błędów uwzględnione w tej wersji, zapoznaj się z informacjami o wersji Android Studio Chipmunk Patch 1.
Zgodność
Wersja minimalna | Wersja domyślna | Uwagi | |
---|---|---|---|
Gradle | 7.3.3 | 7.3.3 | Więcej informacji znajdziesz w sekcji Aktualizowanie Gradle. |
SDK Build Tools | 30.0.3 | 30.0.3 | Zainstaluj lub skonfiguruj narzędzia do kompilacji pakietu SDK. |
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 Jetifier i sprawdzanie 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 Androida Studio, aby włączyć AndroidX w przypadku bibliotek, które nie obsługują AndroidaX 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 Android Studio Chipmunk Beta 1 Android Studio obsługuje zarówno testy Androida, jak i testy Javy. Więcej informacji o funkcji test fixtures i o tym, jak jej używać w projekcie w Javie, znajdziesz w przewodniku Gradle na temat korzystania z test fixtures{:.external}.
Aby włączyć test fixtures 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 opublikowanie 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, 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 użyć 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żna 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ł.