Wtyczka Androida do obsługi Gradle w wersji 1.5.0 (listopad 2015 r.)

Zależności:
Minimalna wersja Wersja domyślna Uwagi
Gradle 2.2.1 2.2.1 Więcej informacji znajdziesz w artykule Aktualizowanie Gradle.
Narzędzia do kompilowania pakietu SDK 21.1.1 21.1.1 Zainstaluj lub skonfiguruj narzędzia do kompilacji pakietu SDK.
Uwagi ogólne:
  • Wtyczka Data Binding została zintegrowana z wtycką Androida do obsługi Gradle. Aby go włączyć, dodaj ten kod do każdego pliku build.gradle w ramach projektu, który używa wtyczki:
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • Dodano nowy interfejs Transform API, aby umożliwić wtyczkom innych firm manipulowanie skompilowanymi plikami .class przed ich przekształceniem w pliki .dex. Interfejs Transform API upraszcza wstrzykiwanie niestandardowych manipulacji klasami, zapewniając jednocześnie większą elastyczność w zakresie manipulacji. Aby wstawić przekształcenie do kompilacji, utwórz nową klasę implementującą jeden z interfejsów Transform i zarejestruj ją za pomocą android.registerTransform(theTransform) lub android.registerTransform(theTransform, dependencies). Nie musisz łączyć zadań ze sobą. Uwaga:
    • Transformację można zastosować do co najmniej jednego z tych elementów: bieżącego projektu, podprojektów i bibliotek zewnętrznych.
    • Transformacja musi być zarejestrowana globalnie, co oznacza, że zostanie zastosowana do wszystkich wariantów.
    • Przetwarzanie kodu wewnętrznego za pomocą biblioteki Java Code Coverage Library (JaCoCo), ProGuard i MultiDex korzysta teraz z interfejsu Transform API. Jednak pakiet Java Android Compiler Kit (Jack) nie korzysta z tego interfejsu API: korzysta z niego tylko ścieżka kodu javac/dx.
    • Gradle wykonuje przekształcenia w tej kolejności: JaCoCo, wtyczki innych firm, ProGuard. Kolejność wykonywania wtyczek innych firm odpowiada kolejności dodawania przez nie przekształceń. Deweloperzy wtyczek innych firm nie mogą kontrolować kolejności wykonywania przekształceń za pomocą interfejsu API.
  • wycofanie z użycia metody dex getter z klasy ApplicationVariant. Zadania Dex nie można już wykonywać za pomocą interfejsu API wariantów, ponieważ jest ono teraz realizowane za pomocą transformacji. Obecnie nie ma żadnego zamiennika dla procesu dex.
  • Naprawiono obsługę dodatkowych komponentów.
  • Ulepszona obsługa MultiDex – udostępnienie tej funkcji w projektach testowych. Testy mają teraz automatycznie zależność com.android.support:multidex-instrumentation.
  • Dodano możliwość prawidłowego przerwania kompilacji Gradle i zgłoszenia przyczyny błędu, gdy kompilacja Gradle wywołuje zadania asynchroniczne, a proces roboczy zawiedzie.
  • Dodano obsługę konfigurowania konkretnego interfejsu binarnego aplikacji (ABI) w wariantach zawierających wiele interfejsów ABI.
  • Dodano obsługę listy numerów seryjnych urządzeń rozdzielonych przecinkami dla zmiennej środowiskowej ANDROID_SERIAL podczas instalowania i uruchamiania testów.
  • Usunięto błąd instalacji na urządzeniach z Androidem 5.0 (interfejs API na poziomie 20) lub nowszym, gdy nazwa pliku APK zawiera spacje.
  • Rozwiązaliśmy różne problemy związane z wyświetlaniem błędów w Android Asset Packaging Tool (AAPT).
  • Dodano obsługę przyrostowego pomiaru JaCoCo w celu przyspieszenia kompilacji przyrostowych. Wtyczka Androida do obsługi Gradle wywołuje teraz bezpośrednio instrumentator JaCoCo. Aby wymusić nowszą wersję narzędzia do instrumentowania JaCoCo, musisz je dodać jako zależność skryptu kompilacji.
  • Rozwiązano problem z obsługą JaCoCo, tak aby ignorować pliki, które nie są klasami.
  • Dodano obsługę wektorowych obiektów rysujących w celu generowania obrazów PNG na etapie kompilacji, aby zapewnić zgodność wsteczną. Wtyczka Androida do obsługi Gradle generuje pliki PNG dla każdego wektora drawable znalezionego w katalogu zasobów, który nie określa wersji interfejsu API lub określa atrybut android:minSdkVersion o wartości równej 20 lub niższej w elemencie <uses-sdk> w manifeście aplikacji. Gęstość plików PNG możesz ustawić, używając właściwości generatedDensities w sekcji defaultConfig lub productFlavor w pliku build.gradle.
  • Dodano udostępnianie obiektu android.jar, który jest generowany przez wtyczkę tylko raz i służy do testowania jednostkowego. Teraz udostępniają go różne moduły, np. app i lib. Usuń plik $rootDir/build, aby wygenerować go ponownie.
  • Zmieniliśmy przetwarzanie zasobów Javy tak, aby odbywało się przed zadaniami zaciemniania zamiast podczas pakowania pliku APK. Ta zmiana umożliwia zadaniom zaciemniania dostosowanie zasobów Javy po zaciemnieniu pakietów.
  • Wyeliminowaliśmy problem z korzystaniem z interfejsu JNI (Java Native Interface) w pluginie biblioteki eksperymentalnej.
  • Dodaliśmy możliwość ustawiania wersji platformy niezależnie od atrybutu android:compileSdkVersion w pluginie biblioteki eksperymentalnej.