Wtyczka Androida do obsługi Gradle 3.2.0 (wrzesień 2018 r.)
Ta wersja wtyczki na Androida wymaga:
Minimalna wersja | Wersja domyślna | Uwagi | |
---|---|---|---|
Gradle | 4.6 | 4.6 | Więcej informacji znajdziesz w artykule Aktualizowanie Gradle. |
Narzędzia do kompilowania pakietu SDK | 28.0.3 | 28.0.3 | Zainstaluj lub skonfiguruj narzędzia do kompilowania pakietu SDK. |
3.2.1 (październik 2018 r.)
Dzięki tej aktualizacji nie musisz już określać wersji narzędzi kompilacji pakietu SDK. Wtyczka Androida do obsługi Gradle używa teraz domyślnie wersji 28.0.3.
Nowe funkcje
-
Obsługa tworzenia pakietów aplikacji na Androida: pakiet aplikacji to nowy format przesyłania, który obejmuje cały skompilowany kod i zasoby aplikacji, a generowanie i podpisywanie pliku APK jest odkładane na czas przesyłania do Sklepu Google Play. Nie musisz już tworzyć, podpisywać ani zarządzać wieloma plikami APK, a użytkownicy otrzymują mniejsze pliki do pobrania zoptymalizowane pod kątem ich urządzenia. Więcej informacji znajdziesz w artykule Informacje o pakietach Android App Bundle.
-
Obsługa ulepszonych szybkości kompilacji przyrostowych podczas korzystania z procesorów adnotacji:
AnnotationProcessorOptions
DSL rozszerza terazCommandLineArgumentProvider
, co umożliwia Tobie lub autorowi procesora adnotacji adnotowanie argumentów procesora za pomocą adnotacji typu właściwości kompilacji przyrostowej. Zastosowanie tych adnotacji poprawia poprawność i wydajność przyrostowych oraz zarchiwizowanych czystych kompilacji. Więcej informacji znajdziesz w artykule Przesyłanie argumentów do procesorów adnotacji. -
Narzędzie do migracji dla AndroidX: jeśli używasz wtyczki Android Gradle 3.2.0 na Androidzie 3.2 lub nowszym, możesz przeprowadzić migrację zależności lokalnych i Mavena w projekcie, aby używać nowych bibliotek AndroidX. W tym celu na pasku menu kliknij Refactor > Migrate to AndroidX (Refaktoruj > Przejdź na AndroidX). Korzystanie z tego narzędzia do migracji powoduje też ustawienie tych flag na
true
w plikugradle.properties
:-
android.useAndroidX
: gdy ta opcja jest ustawiona natrue
, wtyczka Androida używa odpowiedniej biblioteki AndroidX zamiast biblioteki Support Library. Jeśli ta flaga nie jest określona, wtyczka domyślnie ustawia ją nafalse
. -
android.enableJetifier
: gdy ta opcja jest ustawiona natrue
, wtyczka Androida automatycznie migruje istniejące biblioteki innych firm do korzystania z AndroidX, przepisując ich pliki binarne. Jeśli ta flaga nie jest określona, wtyczka domyślnie ustawia ją nafalse
. Flagę tę możesz ustawić jakotrue
tylko wtedy, gdy flagaandroid.useAndroidX
ma wartośćtrue
. W przeciwnym razie wystąpi błąd kompilacji.Więcej informacji znajdziesz w artykule Omówienie Androida X.
-
-
Nowe narzędzie do zmniejszania kodu, R8: R8 to nowe narzędzie do zmniejszania i zaciemniania kodu, które zastępuje ProGuard. Aby zacząć korzystać z wersji podglądu R8, w pliku
gradle.properties
projektu dodaj:android.enableR8 = true
android.enableR8 = true
Zmiany w zachowaniu
-
Desugaring za pomocą D8 jest teraz domyślnie włączony.
-
AAPT2 jest teraz dostępny w repozytorium Maven Google. Aby korzystać z AAPT2, sprawdź, czy w pliku
build.gradle
masz zależnośćgoogle()
, jak pokazano poniżej:buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
-
Natywne multidex jest teraz domyślnie włączone. W poprzednich wersjach Android Studio włączano natywny multideks podczas wdrażania wersji debugowej aplikacji na urządzenie z Androidem API na poziomie 21 lub nowszym. Niezależnie od tego, czy wdrażasz aplikację na urządzenie, czy kompilujesz plik APK na potrzeby wydania, wtyczka Gradle dla Androida włącza natywny multidex dla wszystkich modułów, w których ustawiono opcję
minSdkVersion=21
lub nowszą. -
W pluginie jest teraz wymagana minimalna wersja pluginu protobuf (0.8.6), pluginu Kotlin (1.2.50) i pluginu Crashlytics (1.25.4).
-
Wtyczka modułu funkcji (
com.android.feature
) wymaga teraz używania tylko liter, cyfr i znaków podkreślenia podczas określania nazwy modułu. Jeśli na przykład nazwa modułu funkcji zawiera myślniki, pojawi się błąd kompilacji. Takie działanie jest zgodne z działaniem wtyczki funkcji dynamicznych.
Poprawki błędów
- JavaCompile można teraz przechowywać w pamięci podręcznej w projektach z powiązaniem danych. (problem 69243050)
- Lepsze zapobieganie kompilacji w przypadku modułów biblioteki z wiązaniem danych. (problem 77539932)
- Możesz teraz ponownie włączyć funkcję konfigurowania na żądanie, jeśli została ona wyłączona w poprzednich wersjach z powodu nieprzewidywalnych błędów kompilacji. (problem 77910727)