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

7.2.2 (sierpień 2022 r.)

Ta niewielka aktualizacja odpowiada wersji Android Studio Chipmunk 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
7.2.1 (maj 2022 r.)

Ta niewielka aktualizacja odpowiada wersji Android Studio Chipmunk Patch 1 i zawiera te poprawki błędów:

Aby zobaczyć inne poprawki błędów zawarte 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 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 i sprawdzanie Jetifiera w analizatorze kompilacji

Analizator kompilacji wyświetla teraz ostrzeżenie, jeśli plik projektu gradle.properties zawiera android.enableJetifier=true. Ta flaga została wprowadzona w poprzedniej wersji Androida Studio, aby umożliwić korzystanie z AndroidX w bibliotekach, które nie obsługują AndroidX natywnie. Ekosystem bibliotek w większości przypadków obsługuje już jednak AndroidX natywnie, więc flaga Jetifiera prawdopodobnie nie jest już potrzebna w Twoim projekcie. Ponadto flaga ta może spowolnić kompilację. Jeśli zobaczysz to ostrzeżenie, możesz uruchomić sprawdzanie w Analizatorze kompilacji, aby potwierdzić, czy flagę można usunąć.

Obsługa test fixtures

Od wersji Android Studio Chipmunk Beta 1 Android Studio obsługuje zarówno test fixtures Androida, jak i Javy. Więcej informacji o funkcji test fixtures i o tym, jak jej używać w projekcie Java, znajdziesz w przewodniku Gradle dotyczącym korzystania z test fixtures{:.external} .

Aby włączyć test fixtures w module biblioteki Androida, dodaj te elementy do pliku na poziomie biblioteki build.gradle:

android {
  testFixtures {
    enable true
    // enable testFixtures's android resources (disabled by default)
    // androidResources true
  }
}

Domyślnie opublikowanie biblioteki powoduje też opublikowanie pliku AAR test fixtures razem z biblioteką główną. Plik metadanych modułu Gradle będzie zawierać informacje, które umożliwią Gradle korzystanie z odpowiedniego artefaktu podczas wysyłania żądania testFixtures komponentu.

Aby wyłączyć publikowanie pliku AAR test fixtures biblioteki w wariancie wersji, dodaj te elementy do pliku build.gradle na poziomie biblioteki:

afterEvaluate {
  components.release.withVariantsFromConfiguration(
    configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
  components.release.withVariantsFromConfiguration(
    configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}

Aby używać pliku AAR test fixtures opublikowanej biblioteki 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 fixtures. Możesz skonfigurować narzędzie Lint tak, aby ignorowało źródła test fixtures:

android {
  lint {
    ignoreTestFixturesSources true
  }
}

Nieobsługiwane powielone treści główne

Od wersji 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 testach jednostkowych, jak i w testach instrumentacji. Więcej informacji znajdziesz w artykule zobacz Zmienianie domyślnych konfiguracji zestawów źródeł.