Wtyczka Androida do obsługi Gradle w wersji 8.3.0 to duża aktualizacja, która zawiera wiele nowych funkcji i ulepszeń.
Zgodność
Maksymalny poziom API obsługiwany przez wtyczkę Androida do Gradle w wersji 8.3 to poziom 34. Oto inne informacje o zgodności:
| Wersja minimalna | Wersja domyślna | Uwagi | |
|---|---|---|---|
| Gradle | 8.4 | 8.4 | Więcej informacji znajdziesz w sekcji Aktualizowanie Gradle. | 
| SDK Build Tools | 34.0.0 | 34.0.0 | Zainstaluj lub skonfiguruj narzędzia do kompilacji pakietu SDK. | 
| NDK | Nie dotyczy | 25.1.8937393 | 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.3.
Wersje poprawek
Oto lista wersji poprawek w Android Studio Iguana i wtyczce Androida do obsługi Gradle 8.3.
Android Studio Iguana | 2023.2.1 Patch 2 i AGP 8.3.2 (kwiecień 2024 r.)
Ta niewielka aktualizacja zawiera poprawki błędów.
Android Studio Iguana | 2023.2.1 Patch 1 i AGP 8.3.1 (marzec 2024 r.)
Ta niewielka aktualizacja zawiera poprawki błędów.
Obsługa katalogów wersji Gradle
Android Studio obsługuje oparte na TOML katalogi wersji Gradle, czyli funkcję, która umożliwia zarządzanie zależnościami w jednym centralnym miejscu i udostępnianie ich w różnych modułach lub projektach. Android Studio ułatwia teraz konfigurowanie katalogów wersji dzięki sugestiom edytora i integracji z oknem Struktura projektu. Dowiedz się, jak skonfigurować katalogi wersji Gradle lub przenieść kompilację do katalogów wersji.
Uzupełnianie kodu i nawigacja
Android Studio oferuje uzupełnianie kodu podczas edytowania katalogu wersji w 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 na macOS). Dodatkowo możesz szybko przejść od odwołania do zależności w pliku build.gradle aplikacji do miejsca, w którym jest ona zadeklarowana w katalogu wersji, naciskając Ctrl+b (Command+b w systemie macOS).

Integracja z oknem Struktura projektu
Jeśli Twój projekt korzysta z 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. W przypadku każdego katalogu wersji znajduje się menu, w którym są wymienione zmienne z tego katalogu. Aby edytować zmienną, kliknij jej wartość i zastąp ją nową. Gdy zapiszesz te zmiany, plik TOML zostanie odpowiednio zaktualizowany.

Zależności możesz też aktualizować w oknie Struktura projektu w widoku Zależności (Plik > Struktura projektu > Zależności). Aby zaktualizować wersje za pomocą okna Project Structure (Struktura projektu), przejdź do modułu i zależności, które chcesz edytować, a następnie zaktualizuj pole Requested Version (Wersja wymagana). Gdy zapiszesz te zmiany, plik TOML zostanie odpowiednio zaktualizowany. Pamiętaj, że jeśli wersja zależności została zdefiniowana za pomocą zmiennej, zaktualizowanie jej 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żywasz okna Project Structure, nie powoduje usunięcia zależności z katalogu wersji.

Znane problemy i ograniczenia
Poniżej znajdziesz znane problemy i ograniczenia związane z obsługą katalogów wersji Gradle w Android Studio.
- Błąd podświetlania deklaracji aliasów wtyczek w plikach skryptów Kotlin: gdy dodasz deklarację wtyczki w formacie - alias(libs.plugins.example), edytor doda czerwone podkreślenie pod częścią- libs. Jest to znany problem w Gradle w wersji 8.0 i starszych, który zostanie rozwiązany w przyszłej wersji Gradle.
- Android Studio obsługuje tylko katalogi wersji w formacie TOML: obecnie funkcja autouzupełniania kodu, nawigacji i okna dialogowego Struktura projektu w Android Studio jest dostępna tylko w przypadku katalogów wersji zdefiniowanych w pliku w formacie TOML. Możesz jednak dodać katalog wersji bezpośrednio w - settings.gradlepliku i używać jego zależności w projekcie.
- Nawigacja po plikach kompilacji KTS jest niedostępna: nawigowanie do definicji zależności w katalogu wersji za pomocą Ctrl+kliknięcie (Command+kliknięcie na 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 zamiast za pomocą katalogów wersji. 
- Funkcja „Znajdź użycia” nie jest obsługiwana: znajdowanie użyć zmiennej katalogu wersji w innych plikach kompilacji nie jest jeszcze obsługiwane, niezależnie od tego, czy plik kompilacji jest w KTS czy Groovy. Oznacza to, że kliknięcie definicji zmiennej w katalogu wersji z naciśniętym klawiszem Control (Command na komputerach Mac) nie powoduje przejścia do plików kompilacji, w których używana jest ta zmienna. 
- Okno Struktura projektu w Androidzie Studio wyświetla wiele plików katalogu, jeśli znajdują się one w folderze głównym - gradle, ale nie wyświetla katalogów dla kompilacji złożonej. Jeśli na przykład masz 2 pliki katalogu – jeden dla aplikacji, a drugi dla kompilacji złożonej – w oknie Struktura projektu będzie widoczny tylko plik katalogu aplikacji. Możesz użyć kompozytowej wersji, ale musisz bezpośrednio edytować jej plik TOML.
Dodatkowe informacje o pakiecie SDK: problemy z zasadami
Android Studio wyświetla ostrzeżenia narzędzia lint 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 i są wymienione na platformie Google Play SDK Index. Zaktualizuj wszystkie zależności, które naruszają zasady Google Play, ponieważ te naruszenia mogą w przyszłości uniemożliwić Ci publikowanie w Konsoli Google Play. Ostrzeżenia o naruszeniu zasad uzupełniają ostrzeżenia o nieaktualnej wersji wyświetlane przez Android Studio.
Obsługa wersji compileSdk w Android Studio
Android Studio wyświetli ostrzeżenie, jeśli Twój projekt używa compileSdk, która nie jest obsługiwana przez bieżącą wersję Androida Studio. Jeśli to możliwe, sugeruje też przejście na wersję Androida Studio, która obsługuje compileSdkużywane w projekcie. Pamiętaj, że aktualizacja Androida Studio może wymagać aktualizacji AGP.
AGP wyświetla też ostrzeżenie w oknie narzędzia Build, jeśli compileSdk używany przez projekt nie jest obsługiwany przez bieżącą wersję AGP.
Zmiany w działaniu narzędzia Lint
Od wersji 8.3.0-alpha02 wtyczki Androida do obsługi Gradle podczas uruchamiania narzędzia lint w module są wykonywane oddzielne zadania analizy lint dla głównych i testowych komponentów modułu. Przyczyną tej zmiany jest zwiększenie skuteczności.
Aby przywrócić wcześniejsze działanie, ustaw wartość
android.experimental.lint.analysisPerComponent=false w pliku
gradle.properties.
Domyślnie włączone precyzyjne zmniejszanie zasobów
Precyzyjne zmniejszanie zasobów, które usuwa nieużywane wpisy z pliku resources.arsc i nieużywane pliki zasobów, jest domyślnie włączone.
Gdy to zmniejszanie jest włączone, tabela zasobów jest zmniejszana i w pliku APK uwzględniane są tylko wpisy folderu res, do których istnieją odwołania.
Aby wyłączyć dokładne zmniejszanie zasobów, ustaw w pliku gradle.properties projektu wartość android.enableNewResourceShrinker.preciseShrinking.false
Rozwiązane problemy
Wtyczka Androida do obsługi Gradle w wersji 8.3.2
| Rozwiązane problemy | |||
|---|---|---|---|
| Wtyczka Androida do obsługi Gradle | 
 | ||
| Integracja z Lint | 
 | ||
Wtyczka Androida do obsługi Gradle w wersji 8.3.1
| Rozwiązane problemy | ||
|---|---|---|
| Wtyczka Androida do obsługi Gradle | 
 | |
| Integracja z Lint | 
 | |
Wtyczka Androida do obsługi Gradle w wersji 8.3.0
| Rozwiązane problemy | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Wtyczka Androida do obsługi Gradle | 
 | |||||||||||||||||||||||||||||||||||||||||||||||||
| Dexer (D8) | 
 | |||||||||||||||||||||||||||||||||||||||||||||||||
| Lint | 
 | |||||||||||||||||||||||||||||||||||||||||||||||||
| Integracja z Lint | 
 | |||||||||||||||||||||||||||||||||||||||||||||||||
| Shrinker (R8) | 
 | |||||||||||||||||||||||||||||||||||||||||||||||||
