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ń.

7.2.2 (sierpień 2022 r.)

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
7.2.1 (maj 2022 r.)

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ł.