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 dla Androida w wersji 8.3 to poziom 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 kompilowania 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ą. Po zapisaniu tych zmian 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 struktury 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 podświetli czerwoną linią część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 dodać 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 KTS, czy w Groovy. Oznacza to, że kliknięcie Ctrl (Command na komputerze 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 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 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ługiwane wersje kompilacji pakietu SDK 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 Kompiluj, 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ślnie włączone precyzyjne 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 Android Gradle |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Dexer (D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Integracja z lintem |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Shrinker (R8) |
|
Wtyczka Androida do obsługi Gradle 8.3.1
Rozwiązane problemy | ||
---|---|---|
Wtyczka Android Gradle |
|
|
Integracja z lintem |
|
Wtyczka Androida do obsługi Gradle 8.3.2
Rozwiązane problemy | |||
---|---|---|---|
Wtyczka Android Gradle |
|
||
Integracja z lintem |
|