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.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-02-28 UTC.
[null,null,["Ostatnia aktualizacja: 2025-02-28 UTC."],[],[]]