Informacje o wersji 8.3 wtyczki Androida do obsługi Gradle

Repozytorium JCenter jest dostępne 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 Androida do obsługi Gradle dodaje kilka funkcji, które są charakterystyczne dla aplikacji na Androida. Chociaż wtyczka Androida do obsługi Gradle (AGP) jest zwykle aktualizowana w ramach blokady za pomocą Androida Studio, wtyczka (i reszta systemu Gradle) może działać niezależnie od Android Studio i aktualizować oddzielnie.

Z tego artykułu dowiesz się, jak dbać o aktualność narzędzi Gradle i jakie są najnowsze aktualizacje. Informacje o poprzednich wersjach wtyczki Androida do obsługi Gradle znajdziesz w wcześniejszych informacjach o wersjach.

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

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

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

Gdy zaktualizujesz Androida Studio, możesz zobaczyć prośbę o automatyczne zaktualizowanie wtyczki Androida do obsługi Gradle do najnowszej wersji. Możesz zaakceptować aktualizację lub ręcznie określić wersję zgodnie z wymaganiami projektu dotyczącymi kompilacji.

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 wersję wtyczki na wersję 8.3.0 z pliku build.gradle.kts:

Kotlin

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

Odlotowy

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

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

Jeśli określona wersja wtyczki nie została pobrana, Gradle pobierze ją, gdy następnym razem będziesz tworzyć projekt lub kliknij Plik > Synchronizuj projekt z plikami Gradle na pasku menu Android Studio.

Aktualizowanie Gradle

Podczas aktualizowania Androida Studio możesz zobaczyć prośbę o zaktualizowanie Gradle do najnowszej wersji. Możesz zaakceptować aktualizację lub ręcznie określić wersję zgodnie z wymaganiami projektu dotyczącymi kompilacji.

W tabeli poniżej znajdziesz listę wersji Gradle, która jest wymagana w przypadku poszczególnych wersji wtyczki Androida do obsługi Gradle. Aby uzyskać najlepszą wydajność, użyj najnowszej możliwej wersji Gradle i wtyczki.

Wersja wtyczkiMinimalna wymagana wersja Gradle
8.4 (alfa)8.6-rc-1
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+6,5+
4.0.0+6.1.1 i nowsze
3.6.0–3.6.45.6.4 i nowsze
3.5.0–3.5.45.4.1 i nowsze
3.4.0–3.4.35.1.1 i nowsze
3.3.0–3.3.34.10.1+
3.2.0–3.2.14,6+
3.1.0+4,4+
3.0.0+4.1 i nowsze
2.3.0+3,3+
2.1.3–2.2.32.14.1–3,5
2.0.0–2.1.22.10–2.13
1,52.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 menu Plik > Struktura projektu > Projekt w Android Studio. Wersję Gradle możesz też zaktualizować przy użyciu wiersza poleceń. Preferowanym sposobem jest użycie narzędzia wiersza poleceń Gradle Wrapper, które aktualizuje skrypty gradlew. Poniższy przykład ustawia wersję Gradle na 8.3 za pomocą otoki Gradle. Pamiętaj, że musisz uruchomić to polecenie dwukrotnie, aby uaktualnić zarówno Gradle, jak i samą paczkę Gradle (więcej informacji znajdziesz w artykule o uaktualnianiu otoki Gradle).

gradle wrapper --gradle-version 8.3

W niektórych przypadkach może to jednak się nie powieść, np. jeśli po niedawna zostało zaktualizowane AGP, które nie jest już zgodne z obecną wersją Gradle. W tym przypadku musisz edytować odniesienie do dystrybucji Gradle w pliku gradle/wrapper/gradle-wrapper.properties. Poniższy przykład ustawia wersję Gradle na 8.3 w pliku gradle-wrapper.properties.

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

Wtyczka Android do obsługi Gradle i zgodność ze Android Studio

System kompilacji Android Studio jest oparty na Gradle, a wtyczka Android do obsługi Gradle (AGP) dodaje kilka funkcji charakterystycznych dla tworzenia aplikacji na Androida. W tabeli poniżej znajdziesz listę wersji AGP, która jest wymagana w przypadku każdej wersji Androida Studio.

Wersja Android Studio Wymagana wersja AGP
Jellyfish | 1.03.2023 r. 3,2–8,4
Iguana | 1.2023 r. 3,2–8,3
Hedgehog | 1.1023.2023 3,2–8,2
Żyrafa | 1.3.2022 r. 3,2–8.1
Flamingo | 1.2022.2022 3,2–8,0
Węgorz elektryczny | 1.1.2022 r. 3,2–7,4

Starsze wersje

Wersja Android Studio Wymagana wersja AGP
Dolphin | 1.3.2021 r. 3,2–7,3
Wiewiórka | 1.02.2021 r. 3,2–7,2
Bumblebee | 1.1.2021 r. 3,2–7,1
Arctic Fox | 3.03.2020 r. 3,1–7,0

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

Minimalne wersje narzędzi na poziomie interfejsu Android API

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ż te wymagane przez targetSdk lub compileSdk projektu może spowodować nieoczekiwane problemy. Zalecamy korzystanie z najnowszej wersji testowej Android Studio i AGP przy projektach kierowanych na wersje przedpremierowe systemu operacyjnego Android. Możesz zainstalować podglądy Androida Studio obok wersji stabilnej.

Minimalne wersje Android Studio i AGP to:

Poziom interfejsu API Minimalna wersja Android Studio Minimalna wersja AGP
Wersja testowa VanillaIceCream Jellyfish | 1.03.2023 r. 8.4
34 Hedgehog | 1.1023.2023 8.1.1
33 Flamingo | 1.2022.2022 7.2

Zmiany dotyczące obsługi 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 używać semantycznej obsługi wersji, a zmiany powodujące niezgodność będą uwzględniane w głównych wersjach.

  • Co roku będzie publikowana 1 wersja główna AGP zgodnie z wersją główną Gradle.

  • Po wersji 4.2 wersja po 4.2 będzie to 7.0 i będzie wymagać uaktualnienia do Gradle w wersji 7.x. Każda główna wersja AGP będzie wymagała znacznego uaktualnienia wersji podstawowego narzędzia Gradle.

  • Interfejsy API zostaną wycofane mniej więcej z rocznym wyprzedzeniem, a funkcje ich wymiany będą udostępniane równocześnie. Wycofane interfejsy API zostaną usunięte około roku później podczas kolejnej głównej aktualizacji.

Zgodność

Maksymalny poziom interfejsu API obsługiwany przez wtyczkę Androida do obsługi Gradle w wersji 8.3 to poziom API 34. Inne informacje dotyczące zgodności:

Wersja minimalna Wersja domyślna Uwagi
Gradle 8.4 8.4 Aby dowiedzieć się więcej, zobacz aktualizowanie Gradle.
Narzędzia do kompilacji SDK 34,0.0 34,0.0 Zainstaluj lub skonfiguruj narzędzia do kompilacji SDK.
Zestaw NDK Nie dotyczy 25.1.8937393 Zainstaluj lub skonfiguruj inną wersję pakietu NDK.
JDK 17 17 Więcej informacji znajdziesz w sekcji na temat ustawiania wersji JDK.

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

Wersje poprawek

Poniżej znajduje się lista poprawek wersji Androida Studio Iguana i wtyczki Androida do obsługi Gradle w wersji 8.3.

Android Studio Iguana | Poprawka 2 i 3.02.2023.2.1 (kwiecień 2024 r.)

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

Android Studio Iguana | Poprawka 1 w wersji 1 i 8.3.1 w wersji 2023.2.1 (marzec 2024 r.)

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

Obsługa katalogów wersji Gradle

Android Studio obsługuje katalogi wersji Gradle na platformie TOML, czyli funkcję, która umożliwia zarządzanie zależnościami w jednej centralnej lokalizacji i udostępnianie zależności między modułami lub projektami. Android Studio ułatwia teraz konfigurowanie katalogów wersji przez sugestie edytorów oraz integrację z oknem Struktura projektu. Dowiedz się, jak skonfigurować katalogi wersji Gradle lub jak przenieść kompilację do katalogów wersji.

Uzupełnianie kodu i poruszanie się po nim

Android Studio umożliwia uzupełnianie kodu podczas edytowania katalogu wersji w formacie pliku TOML lub dodawania zależności z katalogu wersji do pliku kompilacji. Aby użyć uzupełniania kodu, naciśnij Ctrl+spacja (Command+spacja w systemie macOS). Możesz też szybko przejść z odwołania do zależności w pliku build.gradle aplikacji do miejsca zadeklarowanego w katalogu wersji, naciskając Ctrl+b (Command+b w systemie macOS).

Uzupełnianie kodu podczas dodawania zależności

Integracja z oknem Struktura projektu

Jeśli Twój projekt używa katalogu wersji zdefiniowanego w formacie pliku TOML, możesz edytować zdefiniowane w nim zmienne w oknie Struktura projektu w widoku Zmienne (Plik > Struktura projektu > Zmienne) w Android Studio. Dla każdego katalogu wersji dostępne jest menu z listą zmiennych. Aby edytować zmienną, kliknij jej wartość i zastąp ją. Po zapisaniu tych zmian plik TOML jest odpowiednio aktualizowany.

Zmienne z katalogu wersji w oknie Struktura projektu

Zależności możesz też zaktualizować w widoku Zależności w oknie Struktura projektu (Plik > Struktura projektu > Zależności). Aby zaktualizować wersje za pomocą okna Struktura projektu, przejdź do modułu i zależności, które chcesz edytować, a następnie zaktualizuj pole Żądana wersja. Gdy zapiszesz te zmiany, plik TOML zostanie odpowiednio zaktualizowany. Pamiętaj, że jeśli wersja zależności została zdefiniowana za pomocą zmiennej, bezpośrednie zaktualizowanie wersji w ten sposób spowoduje zastąpienie zmiennej zakodowaną na stałe wartością. Pamiętaj też, że usunięcie zależności z pliku kompilacji niezależnie od tego, czy użyjesz okna Struktura projektu, nie usuwa zależności z katalogu wersji.

Zależności z katalogu wersji w oknie Struktura projektu

Znane problemy i ograniczenia

Poniżej znajdziesz znane problemy lub ograniczenia związane z obsługą katalogów wersji Gradle w Android Studio.

  • Podczas wyróżniania deklaracji aliasów wtyczek w plikach skryptu Kotlin wystąpił błąd: gdy dodajesz deklarację wtyczki w formularzu alias(libs.plugins.example), edytor dodaje czerwone podkreślenie w części libs. Jest to znany problem w Gradle w wersji 8.0 i starszych. Zostanie on rozwiązany w przyszłej wersji Gradle.

  • Android Studio obsługuje tylko katalogi wersji w formacie TOML. Obecnie obsługa uzupełniania kodu, nawigacji i struktury projektu w Android Studio jest obecnie dostępna tylko w przypadku katalogów wersji zdefiniowanych w formacie pliku TOML. Nadal możesz jednak dodać katalog wersji bezpośrednio w pliku settings.gradle i używać jego zależności w projekcie.

  • Nawigacja po plikach kompilacji KTS: przechodzenie do definicji zależności w katalogu wersji za pomocą skrótu Control+kliknięcie (Command + kliknięcie w systemie macOS) nie jest jeszcze obsługiwane w przypadku plików kompilacji napisanych za pomocą skryptu Kotlin.

  • Asystent Firebase dodaje zależności bezpośrednio w skryptach kompilacji: Asystent Firebase dodaje zależności bezpośrednio do skryptów kompilacji, a nie przez katalogi wersji.

  • Funkcja „Znajdź przypadki użycia” nie jest obsługiwana: znajdowanie przypadków użycia zmiennej katalogu wersji w innych plikach kompilacji nie jest jeszcze obsługiwane niezależnie od tego, czy plik kompilacji znajduje się w KTS, czy w Groovy. Oznacza to, że użycie Control i kliknięcie (Command w systemie macOS) definicji zmiennej w katalogu wersji nie prowadzi do plików kompilacji, w których jest ona używana.

  • Okno Struktura projektu w Android Studio pokazuje wiele plików katalogu, jeśli znajdują się one w głównym folderze gradle, ale nie pokazują katalogów w przypadku kompozytowej kompilacji. Jeśli na przykład masz 2 pliki katalogu – jeden dla aplikacji, a drugi dla kompilacji złożonej – w oknie Struktura projektu pojawi się tylko plik katalogu aplikacji. Możesz użyć kompilacji złożonej, ale musisz bezpośrednio edytować jej plik TOML.

Dodatkowe informacje o pakietach SDK: problemy ze zgodnością z zasadami

Android Studio wyświetla ostrzeżenia o lintowaniu w plikach build.gradle.kts i build.gradle oraz w oknie struktury projektu w przypadku publicznych pakietów SDK, które naruszają zasady Google Play na platformie Google Play SDK Index. Zaktualizuj wszystkie zależności, które naruszają zasady Google Play, ponieważ mogą one uniemożliwić Ci publikowanie treści w Konsoli Google Play w przyszłości. Ostrzeżenia o naruszeniu zasad stanowią uzupełnienie ostrzeżeń o nieaktualnych wersjach wyświetlanych w Android Studio.

Obsługa wersji pliku buildSdk w Android Studio

Android Studio wyświetla ostrzeżenie, jeśli w projekcie używasz zasobu compileSdk, który nie jest obsługiwany w bieżącej wersji Android Studio. Jeśli to możliwe, sugeruje też przejście na wersję Android Studio, która obsługuje interfejs compileSdk używany w Twoim projekcie. Pamiętaj, że uaktualnienie Androida Studio może też wymagać przejścia na AGP. AGP wyświetla też ostrzeżenie w oknie narzędzia Build, jeśli compileSdk używany w Twoim projekcie nie jest obsługiwany w bieżącej wersji AGP.

Zmiany działania lint

Począwszy od wtyczki Androida do obsługi Gradle w wersji 8.3.0-alfa02, gdy uruchamiasz lint w module, dla jego głównego i testowego komponentu są wykonywane osobne zadania analizy lint. Ta zmiana ma na celu poprawę skuteczności. Aby przywrócić wcześniejsze działanie, ustaw parametr android.experimental.lint.analysisPerComponent=false w pliku gradle.properties.

Precyzyjne zmniejszanie zasobów domyślnie włączone

Precyzyjne zmniejszanie zasobów, które usuwa nieużywane wpisy z pliku resources.arsc i eliminuje nieużywane pliki zasobów, jest domyślnie włączone. Gdy to zmniejszanie jest włączone, tabela zasobów jest zmniejszona i w pliku APK uwzględniane są tylko odwołania do res wpisów folderu.

Aby wyłączyć precyzyjne zmniejszanie zasobów, ustaw android.enableNewResourceShrinker.preciseShrinking na false w pliku gradle.properties projektu.