Wtyczka Androida do obsługi Gradle w wersji 9.3.0 (lipiec 2026 r.)

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

Zgodność

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

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

Niezależne zadanie Gradle analizatora konfiguracji R8

Wtyczka Androida do obsługi Gradle w wersji 9.3 wprowadza dedykowane zadanie Gradle do uruchamiania analizatora konfiguracji R8 w izolacji. Analizator konfiguracji R8 pomaga optymalizować reguły zmniejszania kodu i zaciemniania kodu aplikacji.

./gradlew :app:analyzeReleaseR8Config

Zadanie :app:analyzeReleaseR8Config generuje raport bez ukończenia procesu kompilacji pliku APK lub pakietu. Dzięki temu pętla informacji zwrotnych jest krótsza, co przyspiesza proces iteracji deweloperów podczas dopracowywania reguł przechowywania. Możesz też wygenerować raport automatycznie, uruchamiając kompilację do publikacji wersji R8 (np. assembleRelease lub bundleRelease).

Więcej informacji znajdziesz w artykule Uruchamianie samodzielnego zadania Gradle w celu wygenerowania raportu.

Rozwiązane problemy

Wtyczka Androida do obsługi Gradle w wersji 9.3.3

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
Nowy język DSL optymalizacji { enable = true } w wtyczce Androida do obsługi Gradle w wersji 9.3.0 nie ustawia wartości isMinifyEnabled w obiekcie ApplicationVariant
Dexer (D8)
D8 9.2.14 jest o ok. 38% wolniejszy niż 8.13.6 w przypadku funkcji `mergeProjectDexDebug` przy identycznych danych wejściowych i wyjściowych.
Kompresor (R8)
Tryb debugowania D8: ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 31 – regresja między R8 8.8.34 a 8.9.27
VerifyError: Outliner incorrectly extends try-catch region, causing uninitialized register
R8 zapisuje plik `.kotlin_module` z dwukropkiem w nazwie, co powoduje, że nazwa pliku jest nieprawidłowa w systemie Windows.
Niedeterminizm kompilacji R8: identyczne dane wejściowe generują różne pliki dex/mapowania (regresja z „Retain Assume instructions in LIR”)
Zduplikowane mapowanie w R8 9.1
AGP okresowo generuje pliki dex, które nie przechodzą weryfikacji i powodują awarię aplikacji podczas uruchamiania
NullPointerException: nie można wywołać Position.getOutermostCaller(), ponieważ entryPosition ma wartość null
Wysokie zużycie pamięci przez regułę
R8: VerifyError na Androidzie 4.4

Wtyczka Androida do obsługi Gradle w wersji 9.3.2

Rozwiązane problemy
Linter
Linter w AGP 9.3 ulega awarii w JDK 17 – NoSuchMethodError: java.util.List.removeLast() w pakiecie intellij-core JavaDocParser

Wtyczka Androida do obsługi Gradle w wersji 9.3.1

Rozwiązane problemy
W wtyczce AGP 9.3.1 nie oznaczono żadnych publicznych problemów jako naprawionych

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-rc02

Rozwiązane problemy
W AGP 9.3.0-rc02 nie oznaczono żadnych publicznych problemów jako naprawionych

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-rc01

Rozwiązane problemy
W AGP 9.3.0-rc01 nie oznaczono żadnych publicznych problemów jako naprawionych

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-alpha12

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
Błąd kompilacji: wyciek uchwytu pliku w pliku classes.jar w procesie compile_library_classes_jar uniemożliwia ponowne kompilacje w systemie Windows do momentu ponownego uruchomienia IDE
Linter
Linter traktuje zaimportowaną bibliotekę Java jako projekt aplikacji na Androida, ignorując wersję pakietu SDK do kompilacji

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-alpha11

Rozwiązane problemy
W wtyczce Androida do obsługi Gradle w wersji 9.3.0-alpha11 nie oznaczono żadnych publicznych problemów jako naprawionych

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-alpha10

Rozwiązane problemy
W wtyczce Androida do obsługi Gradle w wersji 9.3.0-alpha10 nie oznaczono żadnych publicznych problemów jako naprawionych

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-alpha09

Rozwiązane problemy
W AGP 9.3.0-alpha09 nie oznaczono żadnych publicznych problemów jako naprawionych

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-alpha08

Rozwiązane problemy
W AGP 9.3.0-alpha08 nie oznaczono żadnych publicznych problemów jako naprawionych

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-alpha07

Rozwiązane problemy
W AGP 9.3.0-alpha07 nie oznaczono żadnych publicznych problemów jako naprawionych

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-alpha06

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
JavaDocGenerationTask powinien używać instancji roboczych

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-alpha05

Rozwiązane problemy
Kompresor (R8)
Mapowanie zaciemniania L8 nie jest uwzględnione w pliku app mapping.txt

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-alpha04

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
Bez tego ustawienia zbiór źródeł keepRules KMP jest ignorowany.consumerKeepRules.publish = true

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-alpha03

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
java.lang.ClassNotFoundException: Didn't find class "com.android.tools.r8.RecordTag" after upgrading gradle to 9.2.0
Linter
Błąd Lint, gdy zmniejszanie zasobów jest wyłączone

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-alpha02

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
Prośba o dodanie funkcji: dodanie obsługi pliku native_libs_merge_blame_file do wtyczki Androida do obsługi Gradle
Linter
Brak znaku ` w komunikacie o błędzie AnnotationDetector
Błąd Lint, gdy zmniejszanie zasobów jest wyłączone

Wtyczka Androida do obsługi Gradle w wersji 9.3.0-alpha01

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
Problem z automatycznie generowanymi kodami wersji
AGP: Migrate away from Project as dependency notation
Linter
Fałszywie pozytywny błąd lintera w przypadku UseKtx

Wtyczka Androida do obsługi Gradle w wersji 9.3.0

Rozwiązane problemy
W wtyczce Androida do obsługi Gradle w wersji 9.3.0 nie oznaczono żadnych publicznych problemów jako naprawionych

Zaktualizowano język DSL optymalizacji, aby można było konfigurować reguły zachowywania R8.

Wprowadza zaktualizowany język DSL optymalizacji do konfigurowania reguł zachowywania na potrzeby optymalizacji R8, obsługiwany przez moduły aplikacji i testy modułów biblioteki. Aby skonfigurować optymalizację za pomocą zaktualizowanego DSL, użyj nowego bloku optimization. W przypadku aplikacji skonfiguruj blok optimization w ramach rodzaju kompilacji (np. release lub debug) w skrypcie kompilacji na poziomie aplikacji. Zaktualizowany język DSL optymalizacji upraszcza konfigurację R8:

  • Włączenie optymalizacji umożliwia zarówno optymalizację kodu, jak i zoptymalizowane zmniejszanie zasobów.
  • Nie musisz już określać domyślnego pliku reguł przechowywania na Androidzie.

Pamiętaj, że starszy DSL jest nadal obsługiwany.

Wprowadzenie zestawów źródeł do definiowania reguł przechowywania

Umieść reguły przechowywania w zestawie źródeł src/<variant>/keepRules/ z sufiksem pliku .keep. Zestawy źródeł dla reguł przechowywania są obsługiwane przez zaktualizowany język DSL optymalizacji i starszy język DSL. Korzystanie z zestawów źródeł w przypadku reguł zachowywania jest obsługiwane w modułach aplikacji, modułach biblioteki i jako sposób definiowania reguł konsumenta w modułach Kotlin Multiplatform (KMP).