Wtyczka Androida do obsługi Gradle w wersji 3.2.0 (wrzesień 2018 r.)
Ta wersja wtyczki Androida wymaga:
| Wersja minimalna | Wersja domyślna | Uwagi | |
|---|---|---|---|
| Gradle | 4,6 | 4,6 | Więcej informacji znajdziesz w artykule o aktualizowaniu Gradle. |
| Narzędzia do kompilacji pakietu SDK | 28.0.3 | 28.0.3 | Zainstaluj lub skonfiguruj narzędzia SDK do kompilacji. |
3.2.1 (październik 2018 r.)
W tej aktualizacji nie musisz już określać wersji narzędzi SDK do kompilacji. Wtyczka Androida do obsługi Gradle domyślnie używa teraz wersji 28.0.3.
Nowe funkcje
-
Obsługa tworzenia pakietów Android App Bundle: pakiet aplikacji to nowy format przesyłania, który zawiera cały skompilowany kod i zasoby aplikacji, a generowanie i podpisywanie plików APK jest odroczone do momentu przesłania do Sklepu Google Play. Nie musisz już tworzyć, podpisywać ani zarządzać wieloma plikami APK, a użytkownicy pobierają mniejsze pliki zoptymalizowane pod kątem ich urządzeń. Więcej informacji znajdziesz w artykule o pakietach Android App Bundle .
-
Obsługa szybszych kompilacji przyrostowych podczas korzystania z procesorów adnotacji: DSL
AnnotationProcessorOptionsrozszerza terazCommandLineArgumentProvider, co umożliwia Tobie lub autorowi procesora adnotacji dodawanie adnotacji do argumentów procesora za pomocą adnotacji typu właściwości kompilacji przyrostowej. Używanie tych adnotacji zwiększa poprawność i wydajność kompilacji przyrostowych oraz kompilacji czystych z pamięci podręcznej. Więcej informacji znajdziesz w artykule Przekazywanie argumentów do procesorów adnotacji. -
Narzędzie do migracji do AndroidX: jeśli używasz wtyczki Androida do obsługi Gradle w wersji 3.2.0 z Androidem w wersji 3.2 lub nowszej, możesz przenieść lokalne zależności projektu i zależności Maven, aby korzystać z nowych bibliotek AndroidX. W tym celu na pasku menu wybierz Refactor > Migrate to AndroidX (Refaktoryzacja > Migracja do AndroidX). Użycie tego narzędzia do migracji powoduje też ustawienie tych flag na
truew plikugradle.properties:-
android.useAndroidX: gdy ta flaga jest ustawiona natrue, wtyczka Androida używa odpowiedniej biblioteki AndroidX zamiast Biblioteki pomocy. Jeśli ta flaga nie jest określona, wtyczka domyślnie ustawia ją nafalse. -
android.enableJetifier: gdy ta flaga jest ustawiona natrue, wtyczka Androida automatycznie migruje istniejące biblioteki innych firm do AndroidX, przepisując ich pliki binarne. Jeśli ta flaga nie jest określona, wtyczka domyślnie ustawia ją nafalse. Tę flagę możesz ustawić natruetylko wtedy, gdyandroid.useAndroidXjest też ustawiona natrue. W przeciwnym razie pojawi się błąd kompilacji.Więcej informacji znajdziesz w artykule Omówienie AndroidX.
-
-
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 testowej R8, dodaj do pliku
gradle.propertiesprojektu ten kod:android.enableR8 = true
android.enableR8 = true
Zmiany w zachowaniu
-
Desugaring za pomocą D8 jest teraz domyślnie włączony.
-
AAPT2 jest teraz w repozytorium Maven Google. Aby używać AAPT2, upewnij się, że masz zależność
google()w plikubuild.gradlejak 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() }
-
Natywny multidex jest teraz domyślnie włączony. W poprzednich wersjach Android Studio natywny multidex był włączany podczas wdrażania wersji debugowania aplikacji na urządzeniu z Androidem w wersji 21 lub nowszej. Teraz, niezależnie od tego, czy wdrażasz aplikację na urządzeniu, czy tworzysz plik APK do publikacji, wtyczka Androida do obsługi Gradle włącza natywny multidex we wszystkich modułach, w których ustawiono
minSdkVersion=21lub nowszą. -
Wtyczka wymusza teraz minimalną wersję wtyczki protobuf (0.8.6), wtyczki Kotlin (1.2.50) i wtyczki Crashlytics (1.25.4).
-
Wtyczka modułu funkcji,
com.android.feature, wymusza teraz używanie tylko liter, cyfr i podkreśleń podczas określania nazwy modułu. Jeśli na przykład nazwa modułu funkcji zawiera łączniki, pojawi się błąd kompilacji. To działanie jest zgodne z działaniem wtyczki funkcji dynamicznej.
Poprawki błędów
- JavaCompile można teraz buforować w projektach z powiązaniem danych. (Problem nr 69243050)
- Lepsze unikanie kompilacji w przypadku modułów biblioteki z powiązaniem danych. (Problem nr 77539932)
- Możesz teraz ponownie włączyć configure-on-demand jeśli została ona wyłączona w poprzednich wersjach z powodu nieprzewidywalnych błędów kompilacji. (Problem nr 77910727)