Wtyczka Androida do obsługi Gradle w wersji 8.4.0 (kwiecień 2024 r.)

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

Wersja minimalna Wersja domyślna Uwagi
Gradle 8.6 8.6 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.

Oto nowe funkcje wtyczki Androida do obsługi Gradle w wersji 8.4.

Wersje poprawek

Poniżej znajdziesz listę wersji poprawek w Android Studio Jellyfish i wtyczce Androida do obsługi Gradle w wersji 8.4.

Android Studio Jellyfish | 2023.3.1 Patch 2 i AGP 8.4.2 (czerwiec 2024 r.)

Ważna aktualizacja zabezpieczeń: Luka w zabezpieczeniach wtyczki GitHub dostępnej w Android Studio Iguana | 2023.2.1 i nowszych może spowodować ujawnienie tokenów dostępu nieautoryzowanym osobom.

Poprawka: firma Jetbrains rozwiązała ten problem w produktach platformy IntelliJ, a poprawka jest teraz dostępna w Android Studio Jellyfish | 2023.3.1 Patch 2 (2023.3.1.20).

Jeśli masz już kompilację Android Studio w stabilnym kanale, możesz pobrać aktualizację, klikając Pomoc > Sprawdź aktualizacje (lub Android Studio > Sprawdź aktualizacje w macOS). W przeciwnym razie, pobierz najnowszą stabilną kompilację.

Jeśli aktywnie korzystasz z funkcji żądania pull GitHub w IDE, zdecydowanie zalecamy odwołanie wszystkich tokenów GitHub używanych przez wtyczkę. Wtyczka może korzystać z integracji OAuth lub osobistych tokenów dostępu (PAT), dlatego sprawdź obie te opcje i w razie potrzeby odwołaj dostęp:

  • Aby odwołać dostęp do integracji OAuth, kliknij Aplikacje > Autoryzowane aplikacje OAuth i odwołaj dostęp do tokena Integracja JetBrains IDE.
  • Aby odwołać dostęp do PAT, otwórz Osobiste tokeny dostępu i usuń token wydany dla wtyczki GitHub. Domyślna nazwa tokena to IntelliJ IDEA GitHub integration plugin, ale możesz używać niestandardowej nazwy.

Po odwołaniu dostępu do tokena(-ów) musisz ponownie skonfigurować wtyczkę aby wszystkie jej funkcje, w tym operacje Git, znów działały.

Przepraszamy za wszelkie niedogodności i zachęcamy wszystkich użytkowników do natychmiastowej aktualizacji aby chronić swój kod i dane.

Ta niewielka aktualizacja zawiera też te poprawki błędów.

Android Studio Jellyfish | 2023.3.1 Patch 1 i AGP 8.4.1 (maj 2024 r.)

Ta niewielka aktualizacja zawiera te poprawki błędów.

Zmniejszanie rozmiaru klas bibliotek

Od wersji 8.4 wtyczki Androida do obsługi Gradle, jeśli projekt biblioteki Androida jest zminimalizowany, zmniejszone klasy programu będą publikowane na potrzeby publikowania międzyprojektowego. Oznacza to, że jeśli aplikacja jest zależna od zmniejszonej wersji podprojektów biblioteki Androida, plik APK będzie zawierać zmniejszone klasy biblioteki Androida. W przypadku brakujących klas w pliku APK może być konieczne dostosowanie reguł zachowania biblioteki.

Jeśli tworzysz i publikujesz plik AAR, lokalne pliki JAR, od których zależy Twoja biblioteka , zostaną dołączone do pliku AAR w niezmniejszonej postaci, co oznacza , że nie zostaną one poddane zmniejszeniu kodu.

Aby przywrócić poprzednie działanie, ustaw wartość android.disableMinifyLocalDependenciesForLibraries w pliku gradle.properties i zgłoś błąd. W przyszłych wersjach wtyczki Androida do obsługi Gradle ta flaga zostanie usunięta.

Rozwiązane problemy

Wtyczka Androida do obsługi Gradle w wersji 8.4.2

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
Wtyczka Androida do obsługi Gradle w wersji 8.4 wydaje się przerywać pobieranie GMD w CI

Wtyczka Androida do obsługi Gradle w wersji 8.4.1

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
Zezwalaj na pomijanie ostrzeżenia o wycofaniu obsługi języka Java 8 w JDK 21
Dexer (D8)
java.lang.VerifyError: klasa odrzucona przez weryfikator
Błąd konwersji formatu R8 w nowej wersji po zaciemnieniu
Kompilacje pośrednie mogą nie zawierać pełnej globalnej treści syntetycznej dla stubów

Wtyczka Androida do obsługi Gradle w wersji 8.4.0

Rozwiązane problemy
Wtyczka Androida do obsługi Gradle
Ulepsz komunikat o błędzie informujący, dlaczego nie można użyć opcji `--release` w przypadku JavaCompile
Wyłącz buforowanie MergeSourceSetFolders za pomocą @DoNotCacheByDefault
Nie można ustawić wersji JaCoCo w AGP 8.2.0
W DynamicFeatureBuildType brakuje isDebuggable
Zmniejszone klasy bibliotek nie są prawidłowo publikowane na potrzeby użycia międzyprojektowego
Udostępnij interfejs API Variant#sources, który wyklucza wygenerowane pliki
Modele AGP nie zawierają zależności projektu java-platform
ExtractAarTransform tworzy nieodtwarzalne klasy.jar dla plików AAR, które nie mają klasy.jar
Zezwalaj na konfigurowanie sourceInformation z ComposeOptions
Nie można znaleźć pola: sdk_runtime w wiadomości android.bundle.DeviceSpec
Obsługa compileOnlyApi
R8 nie działa w module biblioteki, gdy przetwarzanie zasobów jest wyłączone
Dodaj możliwość zmiany nazwy artefaktu podczas transformacji
Dodanie danych wyjściowych zadania do as srcDir of sourceSets.androidMain.resources nie powoduje utworzenia zależności zadania
W AndroidPluginVersion.toString() brakuje początkowych zer
Artifacts.add(FileSystemLocation) powinno być bardziej restrykcyjne.
Wtyczka Androida do obsługi Gradle w wersji 8.3.0-alpha11 tworzy plik APK wersji produkcyjnej, który ulega awarii podczas uruchamiania z powodu android.content.res.Resources$NotFoundException
Zadanie instalacji wtyczki Androida do obsługi Gradle w wersji 8.2.0 nie działa w projekcie, który używa dynamicznych funkcji
Kompilacja AIDL nie działa z powodu IndexOutOfBoundsException: Index 0 out of bounds for length 0
Problem z obsługą przyrostowych danych wejściowych MergeJavaResourcesTask
Wtyczka Androida do obsługi Gradle w wersji 8.3.0-alpha02 jest zależna od bibliotek ze znanymi lukami w zabezpieczeniach
Wybrany szablon aktywności wymaga projektu z zależnościami androidx.*
Asystent uaktualniania wtyczki Androida do obsługi Gradle błędnie usuwa consumerProguardFiles z modułu
Asystent uaktualniania wtyczki Androida do obsługi Gradle ładuje się w nieskończoność
SourceDirectories#static nie powinno zależeć od zadania GenerateBuildConfig
Podgląd w widoku tworzenia nie może rozpoznać klas z zależności przechodniej
Wtyczka Androida do obsługi Gradle w wersji 8.3 przerywa działanie zadania zipApksFor
Artefakty AndroidX Desktop spakowane w pliku APK na Androida
Linter
GradleModelMocker w ramach testowania lintera nie pozwala na ustawienie wersji biblioteki
Linter K2 UAST: UCallableReferenceExpression zgłasza nieprawidłowy qualifierType
Fałszywie dodatni wynik lintera z useK2Uast=true w przypadku funkcji przeciążonych
[BuildTool/Lint] Sprawdza właściwość konstruktora ChecksSdkIntAtLeast
Integracja z linterem
Linter nie może rozróżnić zależności KMP