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 interfejsu API obsługiwany przez wtyczkę Gradle 8.3 to poziom API 34. Oto inne informacje o zgodności:
Minimalna wersja | Wersja domyślna | Uwagi | |
---|---|---|---|
Gradle | 8.4 | 8.4 | Więcej informacji znajdziesz w artykule Aktualizowanie Gradle. |
Narzędzia do kompilowania pakietu SDK | 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 Ustawianie wersji JDK. |
Wtyczka Androida do obsługi Gradle w wersji 8.3 zawiera nowe funkcje.
Wersje poprawek
Poniżej znajduje się lista 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 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 katalogi wersji Gradle oparte na formacie TOML. Jest to funkcja, która umożliwia zarządzanie zależnościami w jednym centralnym miejscu i udostępnianie ich w ramach modułów lub projektów. 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 jak przenieść kompilację do katalogów wersji.
Uzupełnianie kodu i nawigacja
Android Studio oferuje uzupełnianie kodu podczas edytowania katalogu wersji w formacie pliku TOML lub dodawania zależności z katalogu wersji do pliku kompilacji. Aby korzystać z uzupełniania kodu, naciśnij Ctrl + Spacja (Command + Spacja w systemie 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. Aby to zrobić, naciśnij Ctrl + B (Command + B na komputerze Mac).
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 Zmienna (Plik > Struktura projektu > Zmienne) w Android Studio. W przypadku każdego katalogu wersji jest menu, w którym znajdziesz listę zmiennych z tego katalogu. Aby edytować zmienną, kliknij jej wartość i zastąp ją inną. Gdy zapiszesz te zmiany, plik TOML zostanie odpowiednio zaktualizowany.
Możesz też zaktualizować zależności 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 Żą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, zaktualizowanie wersji w ten sposób spowoduje zastąpienie tej 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 do tego okna Struktura projektu) nie powoduje usunięcia tej zależności z katalogu wersji.
Znane problemy i ograniczenia
Oto znane problemy i ograniczenia obsługi katalogów wersji Gradle w Android Studio.
Podświetlanie błędów w deklaracjach aliasów wtyczki w plikach skryptu Kotlina: 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 wersjach 8.0 i starszych. Zostanie rozwiązany w przyszłej wersji Gradle.Obsługa Android Studio tylko w przypadku katalogów wersji w formacie TOML: obecnie funkcje uzupełniania kodu, nawigacji i dialogu Struktura projektu w Android Studio są dostępne tylko w przypadku katalogów wersji zdefiniowanych w pliku w formacie TOML. Nadal możesz jednak dodawać katalog wersji bezpośrednio w pliku
settings.gradle
i używać jego zależności w projekcie.Nawigacja w plikach kompilacji KTS nie jest obsługiwana: w przypadku plików kompilacji napisanych w języku Kotlin nawigacja do definicji zależności w katalogu wersji za pomocą skrótu Control + klik (Command + klik na macOS) nie jest jeszcze obsługiwana.
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 w katalogu wersji w innych plikach kompilacji nie jest jeszcze obsługiwane, niezależnie od tego, czy plik kompilacji jest w formacie KTS, czy Groovy. Oznacza to, że kliknięcie Ctrl (Command na komputerach Mac) na definicji zmiennej w katalogu wersji nie powoduje przejścia do plików kompilacji, w których jest ona używana.
Okno Struktura projektu w Android 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 np. 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 złożonej, ale musisz bezpośrednio edytować jej plik TOML.
Dodatkowe statystyki pakietu SDK: problemy z zasadami
Android Studio wyświetla ostrzeżenia lint w plikach build.gradle.kts
i build.gradle
oraz w oknie dialogowym Struktura projektu w przypadku publicznych pakietów SDK, które naruszają zasady Google Play, w Google Play SDK Index. Zaktualizuj wszystkie zależności, które naruszają zasady Google Play, ponieważ te naruszenia mogą uniemożliwić Ci publikowanie w Konsoli Google Play w przyszłości. Ostrzeżenia o naruszeniu zasad uzupełniają ostrzeżenia o nieaktualnej wersji wyświetlane przez Android Studio.
Obsługa wersji kompilacjiSdk w Android Studio
Jeśli Twój projekt używa compileSdk
, którego nie obsługuje bieżąca wersja Android Studio, pojawi się ostrzeżenie. Jeśli jest dostępna, zaleca też przejście na wersję Android Studio, która obsługuje compileSdk
używaną przez Twój projekt. Pamiętaj, że aktualizacja Android Studio może wymagać również aktualizacji AGP.
AGP wyświetla też ostrzeżenie w oknie narzędzia Generuj, jeśli compileSdk
używany przez Twój projekt nie jest obsługiwany przez bieżącą wersję AGP.
Zmiany w działaniu lintowania
Począwszy od wtyczki Androida do obsługi Gradle w wersji 8.3.0-alpha02, podczas uruchamiania lint w module są wykonywane osobne zadania analizy lint dla głównego komponentu i komponentu testowego. Powodem tej zmiany jest poprawa wydajności.
Aby przywrócić poprzednie działanie, ustaw wartość android.experimental.lint.analysisPerComponent=false
w pliku gradle.properties
.
Domyślne dokładne zmniejszanie zasobów
Domyślnie włączone jest precyzyjne kompresowanie zasobów, które usuwa z pliku resources.arsc
nieużywane wpisy i usuwane nieużywane pliki zasobów.
Gdy ta funkcja jest włączona, tabela zasobów jest zmniejszana, a w pliku APK uwzględniane są tylko odwołania do folderu res
.
Aby wyłączyć precyzyjne zmniejszanie zasobów, ustaw parametr android.enableNewResourceShrinker.preciseShrinking
na false
w pliku gradle.properties
projektu.
Rozwiązane problemy
Wtyczka Androida do obsługi Gradle 8.3.0
Rozwiązane problemy | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Wtyczka Gradle na Androida |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Dexer (D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Integracja z lintem |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Shrinker (R8) |
|
Wtyczka Androida do obsługi Gradle 8.3.1
Rozwiązane problemy | ||
---|---|---|
Wtyczka Gradle na Androida |
|
|
Integracja z lintem |
|
Wtyczka Androida do obsługi Gradle 8.3.2
Rozwiązane problemy | |||
---|---|---|---|
Wtyczka Gradle na Androida |
|
||
Integracja z lintem |
|