Wtyczka Androida do obsługi Gradle w wersji 8.8.0 (styczeń 2025 r.)

Wtyczka Androida do obsługi Gradle w wersji 8.8.0 to duża aktualizacja, która zawiera wiele nowych funkcji i ulepszeń.

Zgodność

Maksymalny poziom interfejsu API obsługiwany przez wtyczkę Gradle 8.8 to 35. Oto inne informacje o zgodności:

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

Rozwiązane problemy

Wtyczka Androida do obsługi Gradle 8.8.0

Rozwiązane problemy
Wtyczka Gradle na Androida
Zastanów się nad dodaniem adnotacji typu wejściowego dla JacocoTransform jako @Classpath.
Interfejs com.android.build.api.variant.GeneratesApk powinien udostępniać wartość minSdk
Wtyczka com.android.settings nie rozpoznaje wartości targetSdk
SourceDirectories.addGeneratedSourceDirectory nie obsługuje wielu wariantów
Wdrożyć flagę, aby wyłączyć sprawdzanie minimalnej wersji AGP
AGP ma mylące interakcje z konfigurowaniem opcji kompilatora Kotlina
AGP powinien udostępniać komponent BuiltArtifactLoader dla pliku APK docelowego projektu w projektach com.android.test
[AGP] Lazy SdkComponents.ndkDirectory provider fails to produce value, but eager android.ndkDirectory API works
Opcje kompilacji: dodaj nową opcję „Konfiguracja uruchomienia kompilacji” i ustaw ją jako domyślną.
W przypadku użycia android.enableBuildConfigAsBytecode=true nie można rozwiązać BuildConfig w testach jednostkowych
Pliki APK wygenerowane z pakietów nie uwzględniają obsługi Piaskownicy prywatności
Wtyczka com.android.settings nie rozpoznaje wartości targetSdk
Dexer (D8)
Biblioteka Desugar 2.1.0 nie działa z AGP 8.5.2
Lint
Niezgodność KtAnalysisSessionProvider z kontrolami lint wprowadzonymi w wersji 8.7.0-alpha04
„Fałszywie dodatni” błąd WrongConstant podczas używania funkcji PackageManager.ResolveInfoFlags.of w Kotlinie
Błąd lint „At least one host must be specified” (Musisz podać co najmniej 1 hosta) podczas ustawiania schematu filtru intencji http lub https
Obsługa adnotacji dotyczących użycia typu w większej liczbie przypadków w przypadku sprawdzania błędów UnknownNullness
AGP 8.6.1: Wsteczny regres – błąd sprawdzania poprawności kodu źródłowego WrongConstant podczas używania funkcji [Int].toLong() w ramach funkcji @LongDef w Kotlinie
AGP 8.7.0 – fałszywie pozytywny błąd lintu RestrictedApi w przypadku NavOptionsBuilder.popUpTo
Linter WrongConstant pojawia się dwukrotnie
Android Studio nie wychwytuje ostrzeżenia „MonochromeLauncherIcon: Monochrome icon is not defined”
AbstractAnnotationDetector sprawdza nieprawidłowe przeciążone funkcje/konstruktory
Lint ImportAliasTestMode nie tworzy aliasów importu dla funkcji najwyższego poziomu
Linter WrongConstant pojawia się dwukrotnie
Nowe ostrzeżenia o nieaktualnych wartościach SdkInt w AGP 8.8
Nieprawidłowa kontrola lint android.permission.SCHEDULE_EXACT_ALARM jest przyznawana tylko aplikacjom systemowym
Tryb K2 powoduje wyświetlenie ostrzeżenia RestrictedApi podczas używania w Android Studio funkcji .hasRoute(Route::class).
Integracja z lintem
Nie znaleziono zadania dotyczącego wariantu lint po ocenie
Linting nie działa podczas importowania pliku AAR z plikami implementacji

Wtyczka Androida do obsługi Gradle 8.8.1

Rozwiązane problemy
Dexer (D8)
Dodawanie OpenJDK 23 do testów
Shrinker (R8)
java.lang.AbstractMethodError: Receiver class [...]$$Lambda$[...] does not define or inherit an implementation of the resolved method [...] of interface [...]
NPE w Enqueuer związany z rejestrem DexCallSite
R8 8.7.18 powoduje wyjątek null pointer w czasie wykonywania wywołania job?.cancel.
java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/LazyThreadSafetyMode
Wygląda na to, że Monzo poświęca zbyt dużo czasu na wstrząsanie drzewem
AGP 8.8 fail release build : R8: java.lang.NullPointerException: Cannot read field "b" because the return value of "com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)" is null`

Wtyczka Androida do obsługi Gradle 8.8.2

Rozwiązane problemy
Wtyczka Gradle na Androida
Skrypt inicjalizacji „C:\Users\mój_komputer\AppData\Local\Temp\ijresolvers2.gradle” wiersz: 162
Shrinker (R8)
Gson proguard nie działa prawidłowo po przejściu na AGP 8.8
java.lang.VerifyError: Verifier rejected class
Leanback ulega awarii, gdy jest zoptymalizowany za pomocą R8 zawartego w AGP 8.10.0-alpha04