Wtyczka Androida do obsługi Gradle w wersji 8.3.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.3 to poziom 34. Inne informacje o zgodności:
| Wersja minimalna | Wersja domyślna | Uwagi | |
|---|---|---|---|
| Gradle | 8.4 | 8.4 | Więcej informacji znajdziesz w artykule Aktualizowanie Gradle. |
| Narzędzia do kompilacji pakietu SDK | 34.0.0 | 34.0.0 | Zainstaluj lub skonfiguruj narzędzia SDK Build Tools. |
| NDK | Nie dotyczy | 25.1.8937393 | Zainstaluj lub skonfiguruj inną wersję NDK. |
| JDK | 17 | 17 | Więcej informacji znajdziesz w artykule Ustawianie wersji JDK. |
Oto nowe funkcje wtyczki Androida do obsługi Gradle w wersji 8.3.
Wersje poprawek
Poniżej znajdziesz listę wersji poprawek w Android Studio Iguana i wtyczce Androida do obsługi Gradle w wersji 8.3.
Android Studio Iguana | 2023.2.1 Patch 2 i AGP 8.3.2 (kwiecień 2024 r.)
Ta niewielka aktualizacja zawiera te poprawki błędów.
Android Studio Iguana | 2023.2.1 Patch 1 i AGP 8.3.1 (marzec 2024 r.)
Ta niewielka aktualizacja zawiera te poprawki błędów.
Obsługa katalogów wersji Gradle
Android Studio obsługuje katalogi wersji Gradle oparte na TOML-u, które umożliwiają zarządzanie zależnościami w jednym centralnym miejscu i udostępnianie ich w 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 ono zadeklarowane w katalogu wersji, naciskając Ctrl+B (Command+B na 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 dostępne jest 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 Struktura projektu, przejdź do modułu i zależności, które chcesz edytować, a następnie zaktualizuj pole 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 Struktura projektu, 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 formie
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 pliku
settings.gradlei używać jego zależności w projekcie.Nawigacja w plikach kompilacji KTS nie jest obsługiwana: przechodzenie do definicji zależności w katalogu wersji za pomocą kombinacji Ctrl+kliknięcie (Command+kliknięcie na macOS) nie jest jeszcze obsługiwane w przypadku plików kompilacji napisanych za pomocą skryptu Kotlin.
Firebase Assistant dodaje zależności bezpośrednio w skryptach kompilacji: Firebase Assistant 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 macOS) nie powoduje przejścia do plików kompilacji, w których jest używana 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ć kompilacji kompozytowej, ale musisz bezpośrednio edytować jej plik TOML.
Dodatkowe informacje o pakiecie SDK: problemy związane z zasadami
Android Studio wyświetla ostrzeżenia lintera w plikach build.gradle.kts i build.gradle oraz w oknie Struktura 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óry nie jest obsługiwany przez bieżącą wersję Androida Studio. Jeśli to możliwe, sugeruje też przejście na wersję Androida Studio, która obsługuje compileSdk używany w projekcie. Pamiętaj, że aktualizacja Androida Studio może wymagać też zaktualizowania wtyczki Androida do obsługi Gradle.
AGP wyświetla też ostrzeżenie w oknie narzędzia Build, jeśli compileSdk używany w projekcie nie jest obsługiwany przez bieżącą wersję AGP.
Zmiany w działaniu lintera
Od wersji 8.3.0-alpha02 wtyczki Androida do obsługi Gradle podczas uruchamiania lintera w module są wykonywane oddzielne zadania analizy lintowania dla głównych i testowych komponentów modułu. Przyczyną tej zmiany jest chęć zwiększenia 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 folderów, do których odwołuje się res.
Aby wyłączyć precyzyjne zmniejszanie zasobów, ustaw w pliku gradle.properties projektu wartość android.enableNewResourceShrinker.preciseShrinking jako 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 linterem |
|
||
Wtyczka Androida do obsługi Gradle w wersji 8.3.1
| Rozwiązane problemy | ||
|---|---|---|
| Wtyczka Androida do obsługi Gradle |
|
|
| Integracja z linterem |
|
|
Wtyczka Androida do obsługi Gradle w wersji 8.3.0
| Rozwiązane problemy | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Wtyczka Androida do obsługi Gradle |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Dexer (D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Linter |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Integracja z linterem |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Shrinker (R8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||