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 ważna wersja, 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. Oto inne informacje o zgodności:

Wersja minimalna Wersja domyślna Uwagi
„Gradle” 8.9 8.9 „Więcej informacji znajdziesz w artykule aktualizowanie Gradle”.
SDK Build Tools 34.0.0 34.0.0 Zainstaluj lub skonfiguruj narzędzia do kompilacji 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”.

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 znak 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 nie, 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.0

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
AGP powinien 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.
AGP powinien deklarować, że obsługuje interfejs API 35, który ma zostać udostępniony.
AGP powinien deklarować, że obsługuje interfejs API 35, który ma zostać udostępniony.
Uruchomienie narzędzia Android Lint nie powiodło się z powodu wyjątku 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 wyjątku NoSuchFileException
Lint
Lint powinien sprawdzać, czy nieprawidłowe obiekty są używane jako ViewGroup
„Brak android:host” w przypadku identyfikatorów URI z pustym hostem
Niezgodność KtAnalysisSessionProvider ze sprawdzaniem za pomocą narzędzia lint wprowadzonym w wersji 8.7.0-alpha04
„Fałszywie dodatni” błąd WrongConstant podczas używania funkcji PackageManager.ResolveInfoFlags.of w języku Kotlin

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 Kotlinie
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.2

Rozwiązane problemy
Lint
AGP 8.7.0 - Lint False Positive 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, diagnostyka MissingStartupProfileItemsDiagnostic powoduje awarię klienta Gradle z błędem braku pamięci.

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 lint check android.permission.SCHEDULE_EXACT_ALARM jest przyznawany tylko aplikacjom systemowym