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.

7.2.2 (sierpień 2022 r.)

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

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.