Wtyczka Androida do obsługi Gradle 8.6.0 (sierpień 2024 r.)

Wtyczka Androida do obsługi Gradle w wersji 8.6.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.6 to poziom 35. Inne informacje o zgodności:

Wersja minimalna Wersja domyślna Uwagi
Gradle 8.7 8.7 Więcej informacji znajdziesz w artykule o aktualizowaniu Gradle.
Narzędzia do kompilacji pakietu SDK 34.0.0 34.0.0 Zainstaluj lub skonfiguruj narzędzia SDK do kompilacji.
NDK Nie dotyczy 26.1.10909125 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 8.6.1

Rozwiązane problemy
Dexer (D8)
Zadanie/transformacja dexing generuje niedeterministyczną zawartość pliku classes.dex.
Kompresor (R8)
R8 8.5.x StackOverflowError w SimpleInliningConstraintAnalysis
Task :xxxx:minifyXXXReleaseWithR8 ERROR: R8: java.util.ConcurrentModificationException
java.lang.NullPointerException: Cannot invoke "com.android.tools.r8.ir.analysis.type.TypeElement.asClassType()"

Wtyczka Androida do obsługi Gradle 8.6.0

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
Regresja AGP 7.0.0-alpha10: nie udało się zastosować wtyczki „com.android.internal.library”, gdy włączone jest wiązanie danych
Błędy podczas uruchamiania linta z K2 UAST i bez niego
Nie wygenerowano pliku manifestu dla konfiguracji androidTest wariantu
AGP 8.4 próbuje skonfigurować profile startowe w kompilacjach do debugowania
[Koala 2024.1.2 Canary 2] Błąd podczas uruchamiania modułu profilu podstawowego w dzielonym pakiecie APK
Czyszczenie i usuwanie ProjectInfo
Zaktualizuj nieaktualny kdoc dla `isIncludeAndroidResources` w AGP DSL
Linter używa katalogu res bez dodawania zależności zadania
AGP 8.5: uruchamianych jest znacznie więcej zadań „mergeDebugResources”, co spowalnia kompilacje.
Dodawanie katalogu srcs za pomocą interfejsu Variant API nie działa zgodnie z oczekiwaniami
Dexer (D8)
Zaktualizuj bazę danych interfejsu API do Androida 15 (poziom API 35)
java.lang.VerifyError: klasa com.pax.log.LogUtils odrzucona przez weryfikator: nie udało się zweryfikować java.lang.StackTraceElement com.pax.log.LogUtils.getCaller(com.pax.log.b, java.lang.StackTraceElement[], int)
Linter
Lint nie wywołuje visitAnnotationUsage w przypadku użycia adnotacji z adnotacjami
Błąd lint UnknownNullness podczas używania adnotacji dotyczących użycia typu
[odlukrzanie biblioteki] linter wyświetla fałszywie pozytywne ostrzeżenia NewApi przy włączonym odlukrzaniu
Nieprawidłowe ostrzeżenie lintera dotyczące Menedżera danych logowania na Wear
Lint: SetTextI18n zgłasza błąd dotyczący przypisania pustego ciągu znaków.
Integracja z linterem
Zadania Lint kończą się niepowodzeniem w przypadku dołączonej kompilacji
Kompresor (R8)
[r8 8.5]Poziome scalanie klas w r8 powoduje błąd weryfikacji na Androidzie 5, gdy modelowanie interfejsu API jest wyłączone
Wersja na Wear OS utworzona za pomocą wtyczki Gradle w wersji 8.4.0 lub 8.5.0 może powodować błąd java.lang.IllegalAccessError
R8 domyślnie zastępuje pustą klauzulę składową dopasowaniem ().
[r8 8.5] vertical class merger causing runtime NPE
Błąd przetwarzania R8 prawdopodobnie spowodowany przez operator przesunięcia w prawo
R8 (AGP 8.5.0+) kończy się błędem „Unexpected rewriting of item: ... to two distinct items:...”
Plik dex wygenerowany przez R8 wyświetla komunikat „Nie można znaleźć statycznej metody main(String[]) w klasie 'Test'” podczas wykonywania
Różne zachowanie programów spakowanych przez R8 i D8
NullPointer w R8 po zaktualizowaniu do Kotlina 2.0