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 teraz CommandLineArgumentProvider, 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 pliku gradle.properties:

    • android.useAndroidX: gdy ta opcja jest ustawiona na true, wtyczka Androida używa odpowiedniej biblioteki AndroidX zamiast biblioteki Support Library. Jeśli ta flaga nie jest określona, wtyczka domyślnie ustawia ją na false.

    • android.enableJetifier: gdy ta opcja jest ustawiona na true, 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ą na false. Flagę tę możesz ustawić jako true tylko wtedy, gdy flaga android.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)