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:
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).