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

7.2.2 (sierpień 2022 r.)

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

Ta niewielka aktualizacja odpowiada wydaniu 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 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ł.