Narzędzia kompilacji Android SDK to komponent pakietu Android SDK wymagany do tworzenia aplikacji na Androida. Jest on zainstalowany w katalogu <sdk>/build-tools/
.
Zawsze aktualizuj komponent Narzędzia do tworzenia, pobierając jego najnowszą wersję za pomocą Menedżera pakietu Android SDK. Jeśli używasz
wtyczka Androida do obsługi Gradle w wersji 3.0.0 lub nowszej,
projekt automatycznie używa domyślnej wersji narzędzi do kompilacji określonych przez wtyczkę. Do
użyj innej wersji narzędzi do kompilacji, określ ją za pomocą
buildToolsVersion
w sekcji build.gradle
modułu w następujący sposób:
android { buildToolsVersion "34.0.0" ... }
android { buildToolsVersion = "34.0.0" ... }
Wersje
W sekcjach poniżej znajdziesz informacje o wersjach narzędzi do kompilacji. Aby sprawdzić, które wersje narzędzi do kompilacji są dostępne w Twoim pakiecie SDK, sprawdź listę Zainstalowanych pakietów w Menedżerze pakietu Android SDK.
Ogólne poprawki błędów i ulepszenia.
Ta aktualizacja obejmuje obsługę tworzenia za pomocą interfejsów API w wersji testowej Androida 14.
Ta aktualizacja rozwiązuje następujący problem:
-
core-lambda-stubs.jar
w wersji 33.0.0 różni się w systemach macOS i Linux/Windows. (zobacz problem 237299698).
Ta aktualizacja rozwiązuje ten problem:
- AIDL kończy się niepowodzeniem w narzędziach kompilacji w wersji 33.0.0. Zobacz problem nr 236167971.
Ta aktualizacja obejmuje obsługę tworzenia za pomocą interfejsów Android 11 Preview API.
Ta aktualizacja rozwiązuje ten problem:
- Utwórz problem z Renderscript w systemie macOS Catalina. Zobacz problem nr 142590626.
Ta aktualizacja rozwiązuje następujący problem:
Ta aktualizacja obejmuje obsługę tworzenia za pomocą interfejsu API na poziomie 29.
Ta aktualizacja obejmuje obsługę Wtyczka Androida do obsługi Gradle w wersji 3.2.0 oraz rozwiązuje te problemy:
-
Usunięto błąd biblioteki JNI, który powodował awarię aplikacji podczas połączeń
androidx.renderscript.RenderScript.create()
-
Naprawiono błąd, który powodował błędy kompilacji (
Program type already present
) wandroidx.annotation
zasobów.
Obejmuje najnowszą wersję D8.
Ulepsza obsługę kompilowania wyrażeń lambda po włączeniu funkcji językowych Java 8.
Ulepsza obsługę Funkcje języka Java 8.
Dodaje obsługę starszej wersji Multidex w testowych plikach APK. (Problem 37324038)
Oprócz ogólnych poprawek błędów w tej wersji wprowadziliśmy następujące aktualizacje:
- Aktualizuje
apksigner
do wersji 0.8:- Zgodność z Javą 9. (Numer sprawy 37137869)
-
Nowy parametr
--pass-encoding
do obsługi repozytoriów kluczy i kluczy zaszyfrowanych za pomocą haseł niebędących w formacie ASCII. Jeśli przełączysz się na Java 9, aapksigner
nie uruchomi się odszyfrować magazyn kluczy lub klucz, użyj tego parametru, aby określić kodowanie znaków, do utworzenia magazynu kluczy lub klucza. Więcej informacji znajdziesz w dokumentacjiapksigner
lub w programieapksigner sign --help
z wiersza poleceń. -
Lepszy komunikat o błędzie, gdy
apksigner
nie może zweryfikować podpisu JAR z powodu nieobsługiwany algorytm skrótu lub podpisu. (numer problemu 63525618)
-
Obsługa trybu demona AAPT2 podczas używania
Wtyczka Androida do obsługi Gradle
3.0.0-beta7
lub więcej.
Oprócz ogólnych poprawek błędów w tej wersji przywrócono apksigner
do pakietu narzędzi do kompilacji (został przez pomyłkę pominięty w wersji 26.0.0) i zawiera
wprowadziliśmy w narzędziu następujące aktualizacje:
- Dodano obsługę PKCS #11, aby umożliwić podpisywanie za pomocą kluczy przechowywanych na bezpiecznym sprzęcie. (Numer sprawy 37140484)
- Dodano obsługę wczytywania dodatkowych dostawców JCA przed podpisaniem.
- Przyznaje wyróżnienie
android:targetSandboxVersion
, gdy weryfikacji plików APK. - Podczas podpisywania odrzuca pliki APK z plikami zawierającymi „CR”. (powrót karetki), „LF” (nowy wiersz), lub „NUL” (null) znaków specjalnych w nazwie pliku.
- Naprawia
apksigner.bat
, aby zapewnić prawidłową obsługę parametrów zawierających spacje. (problem 38132450) - Naprawia błąd weryfikacji podpisu JAR, gdy istnieje wiele skrótów dla tego samego pliku
wpis w języku
MANIFEST.MF
. (Problem nr 38497270)
Dodaliśmy obsługę tworzenia z interfejsem API poziomu 26 i ogólne poprawki błędów.
Aktualizacje w apksigner
:
- Dodano parametr
--in
dla symetrii z obecnym parametrem--out
. - Jeśli nie określisz hasła klucza za pomocą właściwości
--key-pass
,apksigner
używa hasła do magazynu kluczy. Jeśli jednak klucz wymaga parametru inne hasło, pojawi się prośba o wpisanie hasła klucza z wiersza poleceń. (Numer sprawy 37134986) - Dodano zgodność z funkcją
jarsigner
w przypadku haseł innych niż ASCII. (Numer sprawy 37135737)
Poprawki błędów.
Ta wersja zawiera poprawki błędów oraz
– poprawki w apksigner
:
- Obsługa plików APK z zaciemnionymi nazwami wpisów JAR.
- Przełącznik
--print-certs
zrzuca teraz również odciski palca MD5.
Poprawki błędów w ekosystemie Jack:
- Rozwiązanie problemu z obsługą plików źródłowych innych niż ASCII przez Jack. (Problem #218892).
- Rozwiązaliśmy problem, który powodował występowanie
AssertionError
w niektórych sytuacjach kompilacje. (Problem #208414);
- Dodano
apksigner
, narzędzie do podpisywania plików APK, które zastępujejarsigner
. Domyślnieapksigner
podpisuje pliki APK przy użyciu konwencjonalnego schematu podpisywania JAR (używanego przezjarsigner
) oraz pakiet APK Schemat podpisu w wersji 2 wprowadzony w Androidzie 7.0 (poziom interfejsu API 24). Wszelkie zmiany w pliku APK podpisanym według schematu podpisu APK w wersji 2 powodują unieważnienie podpisu. Dlatego podczas przetwarzania plików APK, np.zipalign
, ma zostać wykonana przed wywołaniem funkcjiapksigner
, a nie po niej. Wywołujęzipalign
przedapksigner
działa prawidłowo, ponieważapksigner
zachowuje dopasowanie i kompresję pliku APK (w przeciwieństwie dojarsigner
).
- Rozwiązywanie problemów w klastrze RenderScript Biblioteka pomocy na urządzeniach z arm64.
- Rozwiązywanie problemów w klastrze RenderScript Biblioteka pomocy na niektórych urządzeniach Jelly Bean.
- Korzystaj z funkcji
renderscriptTargetAPI 21+
na Androidzie Wtyczka do Gradle w wersji 2.1.0 i nowszych .
- Zwiększona wydajność scalania w narzędziu
dx
. - Rozwiązano problemy z tagiem RenderScript kompilatora dla systemu Windows.
Rozwiązano problemy z narzędziami RenderScript.
Dodano obsługę Androida 6.0 (poziom interfejsu API 23).
Rozwiązano problemy ze zgodnością z jądrami RenderScript na urządzeniach z Androidem w wersji od 4.4 (poziom interfejsu API 19) do 4.1 (poziom interfejsu API 16).
Dodaliśmy obsługę Androida 5.1 (poziom interfejsu API 22).
Rozwiązano problem z tworzeniem układów danych w trybie 32-bitowym.
Usunięto problemy ze skryptem multidex.
Dodano obsługę plików multidex w przypadku plików APK i Jack, aby rozwiązać problem z ograniczeniem liczby odwołań do metody do 64 tys. znaków.
Przeprowadź aktualizacje Eclipse ADT, aby rozwiązać problemy z niestabilnością na platformach Windows.
Wstępne aktualizacje Eclipse ADT w Windowsie. Użyj wersji 21.0.2.
- Uwagi ogólne:
-
- Dodano obsługę Androida 5.0 (poziom interfejsu API 21).
- RenderScript obsługuje teraz płynną operację 32-/64-bitową w interfejsie API na poziomie 21 lub wyższym.
- Rozwiązaliśmy problem z systemem kompilacji Gradle, który występował podczas korzystania z wtyczki JaCoCo. (problem 69174)
- Dodano opcję input-list do stosowania w przypadku długich wierszy poleceń w Windows.
- Uwagi ogólne:
-
- Dodano obsługę Androida Wear.
- Uwagi ogólne:
-
- Dodano element
zipalign
do narzędzi do tworzenia kompilacji. - Zmodyfikowano
aapt
, aby ignorować pliki XML, których nie udało się skompilować.
- Dodano element
Naprawiono problem z obsługą języka RenderScript.
- Naprawiono problemy z kompilacją w języku RenderScript:
-
- Rozwiązano problem z kodowaniem bitowym RenderScript. (Numer 64775)
- Rozwiązano problem z brakującymi symbolami matematycznymi w języku RenderScript. (Numer 64110)
- Rozwiązano różne problemy z kompilacją:
-
- Naprawiono obsługę kompilowania RenderScript w trybie NDK za pomocą Gradle.
- Rozwiązaliśmy problem
BufferOverflowException
w wersji dx. (Problem 61710)
Dodaliśmy obsługę celów kompilacji na Androidzie 4.4 (poziom interfejsu API 19).
Rozwiązano kilka drobnych problemów z kompilacją.
Rozwiązaliśmy problem z trybem obsługi RenderScriptu.
Dodaliśmy obsługę celów kompilacji na Androidzie 4.3 (poziom interfejsu API 18).
Pierwsza wersja.
- Uwagi ogólne:
-
- Dodano obsługę wersji docelowych Androida 4.2 (poziom interfejsu API 17).
- Odłączono komponenty pakietu SDK do Androida od kompilacji powiązanych z narzędziami platformy. dzięki czemu narzędzia kompilacji mogą być aktualizowane niezależnie od komponentów środowiska programistycznego (IDE).