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 sekcji Aktualizowanie Gradle. |
SDK Build Tools | 28.0.3 | 28.0.3 | Zainstaluj lub skonfiguruj narzędzia do kompilacji pakietu SDK. |
3.2.1 (październik 2018 r.)
Po tej aktualizacji nie musisz już określać wersji narzędzi do kompilacji pakietu SDK. 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 wszystkie 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 mogą pobierać mniejsze pliki zoptymalizowane pod kątem ich urządzeń. Więcej informacji znajdziesz w artykule Android App Bundle.
-
Obsługa większych szybkości kompilacji przyrostowych podczas korzystania z procesorów adnotacji: język DSL
AnnotationProcessorOptions
rozszerza 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ść przyrostowych i buforowanych czystych kompilacji. Więcej informacji znajdziesz w artykule Przekazywanie argumentów do procesorów adnotacji. -
Narzędzie do migracji do AndroidaX: 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 używać nowych bibliotek AndroidaX. W tym celu na pasku menu wybierz Refactor > Migrate to AndroidX (Przebuduj > Przenieś do AndroidaX). Użycie tego narzędzia do migracji powoduje też ustawienie tych flag na
true
w plikugradle.properties
:-
android.useAndroidX
: jeśli ta opcja ma wartośćtrue
, 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
: jeśli ustawiono wartośćtrue
, wtyczka Androida automatycznie migruje istniejące biblioteki innych firm, aby używać AndroidaX, poprzez przepisanie ich plików binarnych. Jeśli ta flaga nie jest określona, wtyczka domyślnie ustawia ją nafalse
. Możesz ustawić tę flagę natrue
tylko wtedy, gdyandroid.useAndroidX
ma wartośćtrue
. W przeciwnym razie wystąpi błąd kompilacji.Więcej informacji znajdziesz w omówieniu AndroidaX.
-
-
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ądowej R8, dodaj do pliku
gradle.properties
projektu ten kod:android.enableR8 = true
android.enableR8 = true
Zmiany w działaniu
-
Desugaryzacja za pomocą D8 jest teraz domyślnie włączona.
-
AAPT2 jest teraz w repozytorium Maven Google. Aby używać AAPT2, upewnij się, że 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() }
-
Natywny multidex jest teraz domyślnie włączony. W poprzednich wersjach Androida Studio włączano natywny multidex podczas wdrażania wersji debugowania aplikacji na urządzeniu z Androidem API na poziomie 21 lub nowszym. Teraz, niezależnie od tego, czy wdrażasz aplikację na urządzeniu, czy tworzysz plik APK do publikacji, wtyczka Androida do Gradle umożliwia natywną obsługę wielu plików DEX we wszystkich modułach, w których ustawiono
minSdkVersion=21
lub nowszą wersję. -
Wymagane są teraz minimalne wersje wtyczek: protobuf (0.8.6), Kotlin (1.2.50) i Crashlytics (1.25.4).
-
Wtyczka modułu funkcji
com.android.feature
wymusza teraz używanie 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, wystąpi błąd kompilacji. Działa to tak samo jak w przypadku wtyczki modułu z funkcją dynamiczną.
Poprawki błędów
- Zadanie JavaCompile można teraz buforować w projektach z powiązaniem danych. (Problem 69243050)
- Lepsze unikanie kompilacji w przypadku modułów biblioteki z powiązaniem danych. (Problem nr 77539932)
- Jeśli w starszych wersjach wyłączono konfigurację na żądanie z powodu nieprzewidywalnych błędów kompilacji, można ją teraz ponownie włączyć. (Problem 77910727)