Wtyczka Androida do obsługi Gradle 8.9.0 (marzec 2025 r.)

Wtyczka Androida do obsługi Gradle w wersji 8.9.0 to wersja główna, która zawiera wiele nowych funkcji i ulepszeń.

Zgodność

Maksymalny poziom interfejsu API obsługiwany przez wtyczkę Androida do obsługi Gradle w wersji 8.9 to poziom 35. Inne informacje o zgodności:

Wersja minimalna Wersja domyślna Uwagi
Gradle 8.11.1 8.11.1 Więcej informacji znajdziesz w artykule o aktualizowaniu Gradle.
Narzędzia SDK do kompilacji 35.0.0 35.0.0 Zainstaluj lub skonfiguruj narzędzia SDK do kompilacji.
NDK Nie dotyczy 27.0.12077973 Zainstaluj lub skonfiguruj inną wersję NDK.
JDK 17 17 Więcej informacji znajdziesz w artykule o ustawianiu wersji JDK.

Rozwiązane problemy

Wtyczka Androida do obsługi Gradle w wersji 8.9.2

Rozwiązane problemy
Kompresor (R8)
Problem z usuwaniem zasobów we wtyczce Androida do obsługi Gradle w wersji 8.9 powodujący brak zasobów w modułach funkcji dynamicznych
ClassCastException z bezpiecznego rzutowania w inicjowaniu klasy
Nie można wywołać com.android.tools.r8.internal.H5.x()

Wtyczka Androida do obsługi Gradle w wersji 8.9.1

Rozwiązane problemy
Dexer (D8)
Portowanie wsteczne obiektu android.os.Build.VERSION_CODES_FULL nieprawidłowe dla wersji Baklava
Kompresor (R8)
Nie można wygenerować podpisanego pakietu APK po uaktualnieniu do wtyczki Androida do obsługi Gradle w wersji 8.9.0
Analiza właściwości „zapis przed odczytem” w miejscach przydzielania pamięci napotyka błąd podczas generowania pliku klasy
Problem dotyczący interfejsu Java SPI w kompresorze R8 w wersjach 8.6.*, 8.7.*, 8.8.0

Wtyczka Androida do obsługi Gradle w wersji 8.9.0

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
Wyświetlanie komunikatu o błędzie z możliwością podjęcia działania, gdy zadanie konfiguracji GMD nie powiedzie się z powodu niewystarczającej ilości miejsca na dysku
Wtyczka com.android.settings nie rozpoznaje targetSdk
Nieprzydatny błąd „compileSdkVersion is not specified”. Please add it to build.gradle”.
Brak opcji „Clean build” w menu Build
Może należałoby pozwolić, aby wbudowana obsługa języka Kotlin we wtyczce Androida do obsługi Gradle automatycznie dodawała zależność kotlin stdlib
Aktualizacja funkcji shouldConfigureKotlinPlatformAttribute w celu obsługi wbudowanej obsługi języka Kotlin
W komunikacie o błędzie dotyczącym zadania `checkTestedAppObfuscationRelease` powinna być składnia Gradle w języku Kotlin.
Błąd biblioteki Fused Library, gdy nierozwiązana zależność może zostać ulepszona
Właściwości systemu z pliku gradle.properties nie są przekazywane do procesów roboczych R8 Gradle w osobnych procesach
BuiltArtifact.outputFile powinno być ustawione jako typ pliku
Brak przestrzeni nazw w Fused Library nie powoduje wyświetlenia odpowiedniego komunikatu o błędzie
Opcje narzędzia Lint w AGP 7.1.0-alpha08 nie zezwalają na stdout
Wtyczka Androida do obsługi Gradle: warianty powinny udostępniać nazwy zbiorów źródeł
Pamięć podręczna konfiguracji jest podatna na ustawienie zmiennej środowiskowej TERM
AndroidComponentsExtension.addSourceSetConfigurations nie działa, gdy włączone są statystyki
Skrypt inicjujący „C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle”, wiersz 162
AndroidComponentsExtension.addSourceSetConfigurations nie działa, gdy włączone są statystyki
Dexer (D8)
java.lang.VerifyError: klasa odrzucona przez weryfikator: [0x430] copy1 v2<-v264 type=Undefined cat=3
Linter
Lintowanie kończy się niepowodzeniem podczas sprawdzania Gradle
Linter nie działa z powodu błędu InstantiationException bez komunikatu o wyjątku w śladzie stosu lintera
Fałszywie pozytywny wynik lintera android.permission.SCHEDULE_EXACT_ALARM jest przyznawany tylko aplikacjom systemowym.
Sprawdzanie StringFormatInvalid powinno być stosowane do metody Compose stringResource
Adnotacja RequiresFeature nie działa w przypadku plików Kotlin
Procedura android.os.Handler w Kotlin nie może uruchomić removeCallbacks
Błąd lintera WrongConstant w definicji zamiast w użyciu stałej z przesunięciem
Linter WrongConstant pojawia się 2 razy
Wyjątek środowiska wykonawczego poniżej API 26 z nieobsługiwanym interfejsem Java nio API (bez błędu lintera)
Linter zapobiega używaniu adnotacji RequiresApi nawet w prywatnej metodzie pomocniczej w teście
W Android Studio w trybie K2 podczas używania funkcji .hasRoute(Route::class) wyświetla się ostrzeżenie RestrictedApi
Linter sugeruje zastąpienie adnotacji @RequiresExtension w teście adnotacją @SdkSuppress, która nie obsługuje rozszerzeń SDK
Lint nieprawidłowo zgłasza niepotrzebny zagnieżdżony układ, gdy element FrameLayout jest używany z atrybutem fitSystemWindows do opakowania elementu podrzędnego RelativeLayout, który wymaga niestandardowego dopełnienia.
Reguła lintera CoarseFineLocation nie uwzględnia atrybutu maxSdkVersion
AppLinkSplitToWebAndCustom jest błędem UnknownIssue w wersji 8.7.3 lintera
Błąd lintera StringEscapeDetector w przypadku ciągu znaków „\\ ”
Nieprawidłowe ostrzeżenie lintera dotyczące adnotacji `@Parcelize` w przypadku interfejsów zamkniętych
AS 2024.3.1.4 zawiesza się okresowo podczas edytowania tekstów w języku Kotlin.
Integracja z linterem
lintVitalRelease nie uruchamia się automatycznie podczas tworzenia pakietu aplikacji
Kompresor (R8)
Gson proguard nie działa prawidłowo po przejściu na wtyczkę Androida do obsługi Gradle w wersji 8.8
java.lang.VerifyError: klasa odrzucona przez weryfikator
Leanback ulega awarii po zminimalizowaniu za pomocą R8 dołączonego do wtyczki Androida do obsługi Gradle w wersji 8.10.0-alpha04