Wtyczka Androida do obsługi Gradle 7.2.0 (maj 2022 r.)

Wtyczka Androida do obsługi Gradle w wersji 7.2.0 to ważna aktualizacja, 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 interfejsu AndroidGradlePlugin powoduje błąd interfejsu transform API, gdy jest używany 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 drobna 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ść

Minimalna wersja Wersja domyślna Uwagi
Gradle 7.3.3 7.3.3 Więcej informacji znajdziesz w artykule Aktualizowanie Gradle.
Narzędzia do kompilowania pakietu SDK 30.0.3 30.0.3 Zainstaluj lub skonfiguruj narzędzia do kompilowania pakietu SDK.
NDK Nie dotyczy 21.4.7075529 Zainstaluj lub skonfiguruj inną wersję NDK.
JDK 11 11 Więcej informacji znajdziesz w artykule Ustawianie wersji JDK.

Ostrzeżenie i sprawdzanie w Analizatorze kompilacji dotyczące Jetifiera

Narzędzie Analizator kompilacji wyświetla teraz ostrzeżenie, jeśli plik gradle.properties projektu zawiera android.enableJetifier=true. Ten parametr został wprowadzony w poprzedniej wersji Android Studio, aby umożliwić korzystanie z AndroidX w bibliotekach, które nie obsługują go natywnie. Jednak ekosystem bibliotek w większości obsługuje natywnie AndroidX, a flaga Jetifier prawdopodobnie nie jest już potrzebna w Twoim projekcie. Ponadto może to spowolnić proces kompilacji. Jeśli zobaczysz to ostrzeżenie, możesz uruchomić w analizatorze kompilacji sprawdzanie, czy można usunąć flagę.

Obsługa testów w przybornikach

Począwszy od wersji Android Studio Chipmunk Beta 1, Android Studio obsługuje zarówno testy Androida, jak i testy w języku Java. Więcej informacji o funkcji testów testowych i o tym, jak z niej korzystać w projekcie w języku Java, znajdziesz w przewodniku Gradle dotyczącym używania testów testowych{:.external}.

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

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

Domyślnie publikowanie biblioteki powoduje również opublikowanie AAR z testowymi elementami razem z główną biblioteką. Plik metadanych modułu Gradle będzie zawierać informacje, które umożliwią Gradle korzystanie z odpowiedniego artefaktu podczas żądania komponentu testFixtures.

Aby wyłączyć publikowanie plików AAR testowych biblioteki w wersji wydania, dodaj do pliku build.gradle na poziomie biblioteki następujący kod:

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

Aby używać testowych zasobów AAR opublikowanej biblioteki 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 testów. Możesz skonfigurować lint, aby ignorował źródła testów w ten sposób:

android {
  lint {
    ignoreTestFixturesSources true
  }
}

Duplikaty katalogów źródeł treści nie są obsługiwane

Od wersji AGP 7.2 nie można już udostępniać tego samego katalogu źródeł w przypadku wielu zbiorów źródeł. Nie możesz na przykład używać tych samych źródeł testów do testów jednostkowych i testów z użyciem narzędzia do testowania. Więcej informacji znajdziesz w artykule Zmienianie domyślnych konfiguracji zestawów źródeł.