Informacje o wersji 8.4 wtyczki Androida do obsługi Gradle

Repozytorium JCenter stało się tylko do odczytu 31 marca 2021 r. Więcej informacji znajdziesz w artykule o aktualizacji usługi JCenter.

System kompilacji Android Studio jest oparty na Gradle, a wtyczka Android do obsługi tego narzędzia dodaje kilka funkcji charakterystycznych dla tworzenia aplikacji na Androida. Wtyczka Androida do obsługi Gradle (AGP) jest zwykle aktualizowana w Android Studio w ramach blokady, jednak może działać niezależnie od Android Studio i można ją aktualizować oddzielnie.

Z tego artykułu dowiesz się, jak dbać o aktualność narzędzi Gradle i co się zmieniło. Informacje o poprzednich wersjach wtyczki do obsługi Gradle Androida znajdziesz w poprzednich informacjach o wersji.

Aby sprawdzić, jakie poprawki zostały poprawione w tej wersji wtyczki Androida do obsługi Gradle, zapoznaj się z zamkniętymi problemami.

Ogólne podsumowanie nadchodzących zmian powodujących niezgodność wtyczki do Androida do obsługi Gradle znajdziesz w harmonogramie jej działania.

Szczegółowe informacje o konfigurowaniu kompilacji Androida za pomocą Gradle znajdziesz na tych stronach:

Więcej informacji o systemie kompilacji Gradle znajdziesz w przewodniku użytkownika Gradle.

Aktualizowanie wtyczki Androida do obsługi Gradle

Po zaktualizowaniu Android Studio możesz zobaczyć prośbę o automatyczne zaktualizowanie wtyczki Android do najnowszej wersji do najnowszej wersji. Możesz zaakceptować aktualizację lub ręcznie określić wersję zgodnie z wymaganiami kompilacji projektu.

Wersję wtyczki możesz określić w menu Plik > Struktura projektu > Projekt w Android Studio lub w pliku build.gradle.kts najwyższego poziomu. Wersja wtyczki ma zastosowanie do wszystkich modułów utworzonych w tym projekcie Android Studio. Ten przykład ustawia dla wtyczki w wersji 8.4.0 z pliku build.gradle.kts:

Kotlin

plugins {
    id("com.android.application") version "8.4.0" apply false
    id("com.android.library") version "8.4.0" apply false
    id("org.jetbrains.kotlin.android") version "1.9.23" apply false
}

Odlotowe

plugins {
    id 'com.android.application' version '8.4.0' apply false
    id 'com.android.library' version '8.4.0' apply false
    id 'org.jetbrains.kotlin.android' version '1.9.23' apply false
}

Uwaga: nie używaj zależności dynamicznych w numerach wersji, np. 'com.android.tools.build:gradle:8.4.+'. Korzystanie z tej funkcji może spowodować nieoczekiwane aktualizacje wersji i utrudnić rozwiązanie różnic między wersjami.

Jeśli wskazana wersja wtyczki nie została pobrana, Gradle pobierze ją przy kolejnym kompilowaniu projektu lub kliknie Plik > Synchronizuj projekt z plikami Gradle na pasku menu Androida Studio.

Aktualizowanie Gradle

Po zaktualizowaniu Android Studio możesz zobaczyć prośbę o zaktualizowanie Gradle do najnowszej dostępnej wersji. Możesz zaakceptować aktualizację lub ręcznie określić wersję zgodnie z wymaganiami kompilacji dla projektu.

W tabeli poniżej znajdziesz informacje o tym, która wersja Gradle jest wymagana w przypadku poszczególnych wersji wtyczki Androida do obsługi Gradle. Aby uzyskać najlepszą wydajność, używaj najnowszej możliwej wersji zarówno Gradle, jak i wtyczki.

Wersja wtyczkiMinimalna wymagana wersja Gradle
8.48,6
8.38.4
8.28.2
8.1z Androidem 8.0
z Androidem 8.0z Androidem 8.0
7.47,5

Starsze wersje

Wersja wtyczkiWymagana wersja Gradle
7.37.4
7.27.3.3
7.17.2
7,07,0
4.2.0+6.7.1
4.1.0 lub nowszy6,5 lub więcej
4.0.0+6.1.1 lub nowszy
3.6.0–3.6.45.6.4 lub nowszy
3.5.0–3.5.45.4.1 lub nowszy
3.4.0–3.4.35.1.1 lub nowszy
3.3.0–3.3.34.10.1 lub nowszy
3.2.0–3.2.14,6 lub nowszy
3.1.0 lub nowszy4,4 lub nowszy
3.0.0 lub nowsze4.1 lub nowszy
2.3.0+3,3 lub nowszy
2.1.3–2.2.32.14.1 - 3.5
2.0.0–2.1.22.10–2.13
1.5.02.2.1–2.13
1.2.0–1.3.12.2.1–2.9
1.0.0–1.1.32.2.1 - 2.3

Wersję Gradle możesz określić w Android Studio w menu Plik > Struktura projektu > Projekt lub zaktualizować wersję Gradle przy użyciu wiersza poleceń. Preferowanym sposobem jest użycie narzędzia wiersza poleceń Gradle Wrapper, które aktualizuje skrypty gradlew. Ten przykład ustawia wersję Gradle na 8.4 za pomocą opakowania Gradle. Aby uaktualnić zarówno Gradle, jak i sam Gradle Wrapper, musisz 2 razy uruchomić to polecenie (więcej informacji znajdziesz w artykule Uaktualnianie kodu Gradle Wrapper).

gradle wrapper --gradle-version 8.4

W niektórych przypadkach może się to jednak nie udać, jeśli na przykład po zaktualizowaniu interfejsu AGP nie jest on już zgodny z obecną wersją Gradle. W takim przypadku musisz zmodyfikować odniesienie do dystrybucji Gradle w pliku gradle/wrapper/gradle-wrapper.properties. Ten przykład ustawia wersję Gradle w pliku gradle-wrapper.properties na 8.4.

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.4-bin.zip
...

wtyczka Androida do obsługi Gradle i zgodność z Androidem Studio

System kompilacji Android Studio jest oparty na Gradle, a wtyczka Android do tego narzędzia (AGP) dodaje kilka funkcji charakterystycznych dla tworzenia aplikacji na Androida. W tabeli poniżej podano, która wersja AGP jest wymagana w przypadku poszczególnych wersji Android Studio.

Wersja Android Studio Wymagana wersja AGP
Koala | 1.1.2024 3,2–8,5
Meduza | 1.03.2023 3,2–8,4
Iguana | 2023.2.1 3,2–8,3
Jeż | 1.1.2023 3,2–8,2
Żyrafa | 1.03.2022 3.2–8.1
Flamingo | 2022.2.1 3,2–8,0

Starsze wersje

Wersja Android Studio Wymagana wersja AGP
Elektryczny węgorz | 1.1.2022 3,2–7,4
Delphin | 1.03.2021 3,2–7,3
Wiewiórka | 2.1.2021 3,2–7,2
Bumblebee | 1.1.2021 3.2–7.1
Lis polarny | 1.03.2020 3,1–7,0

Nowości w wtyczce Androida do obsługi Gradle znajdziesz w informacjach o wersji wtyczki Androida do obsługi Gradle.

Minimalna liczba wersji narzędzi na poziomie interfejsu API Androida

Istnieją minimalne wersje Android Studio i AGP, które obsługują określony poziom interfejsu API. Używanie starszych wersji Androida Studio lub AGP niż wymagane przez targetSdk lub compileSdk projektu może spowodować nieoczekiwane problemy. Przy projektach kierowanych na wersje testowe systemu operacyjnego Android zalecamy korzystanie z najnowszych wersji przedpremierowych Android Studio i AGP. Oprócz wersji stabilnej możesz zainstalować wersje podglądowe Androida Studio.

Minimalne wersje Android Studio i AGP to:

Poziom interfejsu API Minimalna wersja Android Studio Minimalna wersja AGP
Wersja testowa VanillaIceCream Meduza | 1.03.2023 8.4
34 Jeż | 1.1.2023 8.1.1
33 Flamingo | 2022.2.1 7.2

Zmiany w obsłudze wersji (listopad 2020 r.)

Aktualizujemy numerację wersji wtyczki Androida do obsługi Gradle (AGP), aby była bardziej zbliżona do bazowego narzędzia do kompilacji Gradle.

Oto najważniejsze zmiany:

  • AGP będzie teraz korzystać z semantycznej obsługi wersji, a zmiany powodujące niezgodność będą kierowane do głównych wersji.

  • Rocznie będzie publikowana jedna główna wersja pakietu AGP, zgodna z wersją główną Gradle.

  • Po aktualizacji AGP 4.2 zostanie ona udostępniona w wersji 7.0 i będzie wymagać uaktualnienia Gradle do wersji 7.x. Każda duża wersja pakietu AGP wymaga uaktualnienia wersji w podstawowym narzędziu Gradle.

  • Interfejsy API zostaną wycofane z około rokiem wcześniej, a funkcja zastępowania będzie dostępna jednocześnie. Wycofane interfejsy API zostaną usunięte po około roku podczas kolejnej dużej aktualizacji.

Zgodność

Maksymalny poziom interfejsu API obsługiwany przez wtyczkę Androida do obsługi Gradle 8.3 to poziom 34. Oto inne informacje o zgodności:

Wersja minimalna Wersja domyślna Notatki
Gradle 8,6 8,6 Więcej informacji znajdziesz w artykule na temat aktualizowania Gradle.
Narzędzia do tworzenia pakietów SDK 34.0.0 34.0.0 Zainstaluj lub skonfiguruj narzędzia SDK Build Tools.
NDK Nie dotyczy 26.1.10909125 Zainstaluj lub skonfiguruj inną wersję NDK.
JDK 17 17 Więcej informacji znajdziesz w sekcji o ustawianiu wersji pakietu 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 Android do obsługi Gradle w wersji 8.4.

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

Ważna aktualizacja zabezpieczeń: luka w zabezpieczeniach wtyczki GitHub dostępnej w Android Studio Iguana w wersji 2023.2.1 lub nowszej może ujawnić tokeny dostępu nieupoważnionym osobom.

Rozwiązanie: zespół Jetbrains rozwiązał problem z platformami IntelliJ, a poprawka jest już dostępna w Android Studio Jellyfish | Poprawka 2 (2023.3.1.20).

Jeśli masz już kompilację Android Studio w wersji stabilnej, możesz pobrać aktualizację, klikając Pomoc > Sprawdź dostępność aktualizacji (lub Android Studio > Sprawdź dostępność aktualizacji w systemie macOS). W przeciwnym razie pobierz najnowszą stabilną kompilację.

Ponadto jeśli aktywnie korzystasz w IDE z funkcji żądań pull GitHub, zdecydowanie zalecamy unieważnienie wszystkich tokenów GitHub używanych przez wtyczkę. Ponieważ wtyczka może korzystać z integracji OAuth lub osobistych tokenów dostępu (PAT), sprawdź oba i w razie potrzeby unieważnij:

  • Aby unieważnić dostęp na potrzeby integracji OAuth, otwórz Aplikacje > Autoryzowane aplikacje OAuth i unieważnij dostęp dla tokena integracji JetBrains IDE.
  • Aby unieważnić dostęp dla kluczy PAT, otwórz Osobiste tokeny dostępu i usuń token wystawiony dla wtyczki GitHub. Domyślna nazwa tokena to IntelliJ IDEA GitHub integration Plugin, ale być może używasz nazwy niestandardowej.

Po cofnięciu dostępu do tokenów musisz ponownie skonfigurować wtyczkę, aby wszystkie funkcje wtyczki, w tym operacje Git, działały ponownie.

Przepraszamy za wszelkie niedogodności i zachęcamy wszystkich użytkowników do jak najszybszego zaktualizowania kodu i danych.

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

Android Studio Jellyfish | Poprawka 1 i AGP 8.4.1 z 2023 r. (maj 2024 r.)

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

Klasy w bibliotece są zmniejszone

Począwszy od wtyczki Androida do obsługi Gradle w wersji 8.4, jeśli projekt biblioteki Androida zostanie zminifikowany, na potrzeby publikowania między projektami będą publikowane zmniejszone klasy programu. Oznacza to, że jeśli aplikacja zależy od zmniejszonej wersji podprojektów biblioteki Androida, plik APK będzie zawierał zmniejszone klasy biblioteki Androida. Konieczne może być dostosowanie reguł zachowywania biblioteki, jeśli w pliku APK nie ma klas.

Jeśli tworzysz i publikujesz pakiet AAR, lokalne pliki jar, od których zależy Twoja biblioteka, zostaną w nim uwzględnione bez pomniejszenia, co oznacza, że obniżka kodu nie będzie na nich działać.

Aby przywrócić poprzedni sposób działania, ustaw android.disableMinifyLocalDependenciesForLibraries w pliku gradle.properties i zgłoś błąd. Przyszłe wersje AGP spowoduje usunięcie tej flagi i usunięcie tej flagi.