Wtyczka Androida do obsługi Gradle w wersji 8.7.0 (październik 2024 r.)

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

Zgodność

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

Wersja minimalna Wersja domyślna Uwagi
„Gradle” 8.9 8.9 „Więcej informacji znajdziesz w artykule Aktualizowanie Gradle”.
Narzędzia do kompilacji pakietu SDK 34.0.0 34.0.0 Zainstaluj lub skonfiguruj narzędzia SDK Build Tools.
NDK Nie dotyczy 27.0.12077973 Zainstaluj lub skonfiguruj inną wersję NDK”.
JDK 17 17 „Więcej informacji znajdziesz w artykule Ustawianie wersji JDK”.

Zmiana działania narzędzia lint

Od wersji 8.7.0-alpha08 wtyczki Androida do obsługi Gradle, jeśli podczas uruchamiania narzędzia lint za pomocą Gradle wystąpi LintError, zadanie analizy lint zgłosi wyjątek. Ta zmiana zapobiega zapisywaniu w pamięci podręcznej rzadkich błędów.

Niestety ta zmiana powoduje błędy w kompilacjach projektów, które w plikach podstawowych lint mają prawdziwe instancje LintError. Komunikat o błędzie zawiera informacje o tym, które testy lint powodują problem. W niektórych przypadkach problem może rozwiązać zaktualizowanie odpowiedniej zależności biblioteki. Jeśli to nie pomoże, możesz wyłączyć problematyczne sprawdzanie lint, dopóki autor biblioteki nie rozwiąże problemu.

Rozwiązane problemy

Wtyczka Androida do obsługi Gradle w wersji 8.7.3

Rozwiązane problemy
Lint
Podczas uruchamiania narzędzia lint pojawia się wiele ostrzeżeń o brakujących metodach interfejsu API do analizy.
Fałszywie dodatni błąd narzędzia lint check android.permission.SCHEDULE_EXACT_ALARM jest przyznawany tylko aplikacjom systemowym.

Wtyczka Androida do obsługi Gradle w wersji 8.7.2

Rozwiązane problemy
Lint
AGP 8.7.0 - Fałszywie dodatni błąd narzędzia Lint RestrictedApi on NavOptionsBuilder.popUpTo.
Shrinker (R8)
[R8 8.6.27] Implementacja metody zastąpiona przez `throw null`.
Domyślne pliki proguard na Androida wyświetlają ostrzeżenie, gdy są używane z aktualną wersją R8.
Jeśli komunikat jest zbyt duży, MissingStartupProfileItemsDiagnostic powoduje awarię klienta Gradle z błędem braku pamięci.

Wtyczka Androida do obsługi Gradle w wersji 8.7.1

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
Dokumentacja AGP zawiera wiele informacji oznaczonych jako „TBD”.
Lint
AGP 8.6.1: regresja – błąd lint WrongConstant podczas używania [Int].toLong() w funkcji @LongDef w języku Kotlin.
Błąd „At least one host must be specified” (Musi być określony co najmniej 1 host) podczas ustawiania schematu http lub https filtra intencji.

Wtyczka Androida do obsługi Gradle w wersji 8.7.0

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
Wtyczka AGP powinna deklarować, że obsługuje interfejs API 35, który ma zostać udostępniony.
AGP 8.5: uruchamianych jest znacznie więcej zadań „mergeDebugResources”, co spowalnia kompilacje.
Ustaw NDK 27 jako domyślny NDK w AGP.
Wtyczka AGP powinna deklarować, że obsługuje interfejs API 35, który ma zostać udostępniony.
Wtyczka AGP powinna deklarować, że obsługuje interfejs API 35, który ma zostać udostępniony.
Uruchomienie narzędzia Android Lint nie powiodło się z powodu błędu NoSuchFileException.
BuildType#initWith kopiuje blok przetwarzania końcowego, ale konfiguracja proguard nie jest stosowana.
Nie można scalić tagów foregroundServiceType.
Uruchomienie narzędzia Android Lint nie powiodło się z powodu błędu NoSuchFileException.
Lint
Lint powinien sprawdzać, czy nieprawidłowe obiekty są używane jako ViewGroups.
„Brak atrybutu android:host” w przypadku identyfikatorów URI z wartością null w polu hosta.
Niezgodność KtAnalysisSessionProvider ze sprawdzaniem lint wprowadzonym w wersji 8.7.0-alpha04.
„Fałszywie dodatni” błąd WrongConstant podczas używania PackageManager.ResolveInfoFlags.of w języku Kotlin.