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

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

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