Android SDK Build-Tools adalah komponen Android SDK yang diperlukan untuk
mem-build aplikasi Android. Alat ini terinstal di
direktori <sdk>/build-tools/
.
Anda harus selalu mengupdate komponen Build Tools dengan mendownload versi terbaru
menggunakan Android SDK Manager. Jika menggunakan
plugin Android untuk Gradle 3.0.0 atau yang lebih tinggi,
project Anda akan otomatis menggunakan versi default Build Tools yang ditentukan plugin. Untuk
menggunakan Build Tools versi lain, tentukan menggunakan
buildToolsVersion
dalam build.gradle
modul, sebagai berikut:
android { buildToolsVersion "34.0.0" ... }
android { buildToolsVersion = "34.0.0" ... }
Revisi
Bagian berikut menyediakan catatan tentang rilis Build Tools. Untuk menentukan revisi Build Tools yang tersedia di SDK, lihat listingan Paket Terinstal di Android SDK Manager.
Perbaikan bug dan peningkatan umum.
Update ini mencakup dukungan untuk mem-build aplikasi dengan API pratinjau Android 14.
Update ini memperbaiki masalah berikut:
-
core-lambda-stubs.jar
versi 33.0.0 berbeda di macOS versus Linux/Windows. (Lihat masalah #237299698)
Update ini memperbaiki masalah berikut:
- AIDL gagal dengan build tools 33.0.0. (Lihat masalah #236167971)
Update ini mencakup dukungan untuk mem-build aplikasi dengan API Pratinjau Android 11.
Update ini memperbaiki masalah berikut:
- Masalah build dengan Renderscript pada macOS Catalina. (Lihat masalah #142590626)
Update ini memperbaiki masalah berikut:
Update ini mencakup dukungan untuk mem-build aplikasi dengan API level 29.
Update ini mencakup dukungan untuk plugin Android Gradle 3.2.0 dan perbaikan untuk masalah berikut:
-
Memperbaiki bug library JNI yang menyebabkan aplikasi mengalami error saat memanggil
androidx.renderscript.RenderScript.create()
. -
Memperbaiki bug yang menyebabkan error build
Program type already present
dengan resourceandroidx.annotation
.
Mencakup versi terbaru D8.
Meningkatkan dukungan untuk mengompilasi lambda setelah Anda mengaktifkan fitur bahasa Java 8.
Meningkatkan dukungan untuk fitur bahasa Java 8.
Menambahkan dukungan untuk legacy multidex APK pengujian. (Masalah #37324038)
Selain perbaikan bug umum, rilis ini menyertakan update berikut:
- Update
apksigner
ke versi 0.8:- Kompatibilitas dengan Java 9. (Masalah #37137869)
-
Parameter
--pass-encoding
baru untuk menangani keystore dan kunci yang dienkripsi menggunakan sandi non-ASCII. Jika Anda beralih ke Java 9 danapksigner
gagal mendekripsi keystore atau kunci, gunakan parameter ini untuk menetapkan encoding karakter yang digunakan untuk membuat keystore atau kunci. Untuk informasi selengkapnya, lihat dokumentasiapksigner
atau jalankanapksigner sign --help
dari command line. -
Pesan error yang lebih baik jika
apksigner
tidak dapat memverifikasi tanda tangan JAR karena algoritme tanda tangan atau ringkasan tidak didukung. (Masalah #63525618)
-
Dukungan untuk mode daemon AAPT2 saat menggunakan
plugin Android untuk Gradle
3.0.0-beta7
atau yang lebih tinggi.
Selain perbaikan bug umum, rilis ini memulihkan
apksigner
ke paket Build Tools (yang tidak sengaja dihilangkan dalam versi 26.0.0) dan menyertakan
update berikut untuk alat ini:
- Menambahkan dukungan PKCS #11 untuk memungkinkan penandatanganan dengan kunci yang tersimpan pada hardware yang aman. (Masalah #37140484)
- Menambahkan dukungan untuk memuat Penyedia JCA tambahan sebelum penandatanganan.
- Mengikuti
android:targetSandboxVersion
saat memverifikasi APK. - Saat penandatanganan, menolak APK dengan file yang menyertakan karakter khusus 'CR' (carriage return), 'LF' (line feed), atau 'NUL' (null) pada nama file.
- Memperbaiki
apksigner.bat
untuk menangani parameter yang berisi spasi dengan benar. (Masalah #38132450) - Memperbaiki bug pada verifikasi tanda tangan JAR saat ada beberapa ringkasan untuk entri yang
sama di
MANIFEST.MF
. (Masalah #38497270)
Menambahkan dukungan untuk mem-build aplikasi dengan API level 26 dan berisi perbaikan bug umum.
Update untuk apksigner
:
- Menambahkan parameter
--in
agar simetris dengan parameter--out
yang ada. - Jika Anda tidak menetapkan sandi kunci menggunakan
--key-pass
,apksigner
akan menggunakan sandi keystore sebagai sandi kunci. Namun, jika kunci memerlukan sandi berbeda, Anda akan diminta untuk memasukkan sandi kunci dari command line. (Masalah #37134986) - Menambahkan kompatibilitas dengan
jarsigner
untuk sandi non-ASCII. (Masalah #37135737)
Perbaikan bug.
Rilis ini mencakup perbaikan bug dan peningkatan untuk apksigner
berikut:
- Dukungan untuk APK dengan nama entri JAR yang di-obfuscate.
- Tombol
--print-certs
sekarang juga membuang sidik jari MD5.
Perbaikan bug untuk toolchain Jack:
- Mengatasi masalah pada Jack yang mendukung file sumber non-ASCII. (Masalah #218892)
- Mengatasi masalah yang menyebabkan
AssertionError
selama beberapa kompilasi. (Masalah #208414)
- Menambahkan
apksigner
, yakni alat penandatanganan APK untuk menggantikanjarsigner
. Secara default,apksigner
menandatangani APK menggunakan skema penandatanganan JAR konvensional (digunakan olehjarsigner
) dan APK Signature Scheme v2 yang diperkenalkan di Android 7.0 (API level 24). Setiap modifikasi pada APK yang ditandatangani dengan APK Signature Scheme v2 akan membatalkan tanda tangannya. Dengan demikian, pascapemrosesan APK, sepertizipalign
, harus dilakukan sebelumapksigner
dipanggil, bukan setelahnya. Memanggilzipalign
sebelumapksigner
akan berfungsi dengan baik karenaapksigner
mempertahankan kompresi dan keselarasan APK (tidak sepertijarsigner
).
- Mengatasi masalah di Support Library RenderScript pada perangkat arm64.
- Mengatasi masalah di Support Library RenderScript pada perangkat Jelly Bean tertentu.
- Mendukung
renderscriptTargetAPI 21+
saat menggunakan Plugin Android untuk Gradle, Revisi 2.1.0 dan yang lebih baru.
- Meningkatkan performa penggabungan alat
dx
. - Mengatasi masalah pada compiler RenderScript untuk Windows.
Memperbaiki masalah pada alat RenderScript.
Menambahkan dukungan untuk rilis Android 6.0 (API level 23).
Mengatasi masalah kompatibilitas dengan kernel RenderScript pada perangkat Android 4.4 (API level 19) hingga Android 4.1 (API level 16).
Menambahkan dukungan untuk Android 5.1 (API level 22).
Memperbaiki masalah pembuatan tata letak data pada mode 32 bit.
Memperbaiki masalah skrip multidex.
Menambahkan dukungan file multidex untuk APK dan dukungan Jack guna mengatasi batasan referensi metode 64K.
Menyelesaikan update untuk Eclipse ADT guna mengatasi masalah ketidakstabilan pada platform Windows.
Update awal untuk Eclipse ADT pada Windows. Gunakan Revisi 21.0.2.
- Catatan Umum:
-
- Menambahkan dukungan untuk Android 5.0 (API level 21).
- RenderScript kini mendukung operasi 32/64 bit yang lancar untuk API level 21 dan yang lebih tinggi.
- Memperbaiki masalah pada sistem build Gradle saat menggunakan plugin JaCoCo. (Masalah 69174)
- Menambahkan opsi input-list untuk digunakan pada command line panjang di Windows.
- Catatan Umum:
-
- Menambahkan dukungan untuk Android Wear.
- Catatan Umum:
-
- Menambahkan
zipalign
ke Build Tools. - Mengubah
aapt
untuk mengabaikan file XML yang gagal dikompilasi.
- Menambahkan
Memperbaiki masalah dukungan RenderScript.
- Memperbaiki masalah build RenderScript:
-
- Memperbaiki masalah encoding bitcode RenderScript. (Masalah 64775)
- Mengatasi masalah terkait RenderScript yang kehilangan simbol matematis (Masalah 64110)
- Memperbaiki masalah build lainnya:
-
- Memperbaiki dukungan untuk mengompilasi RenderScript di mode NDK dengan Gradle.
- Memperbaiki masalah
BufferOverflowException
di build dx. (Masalah 61710)
Menambahkan dukungan untuk target build Android 4.4 (API level 19).
Memperbaiki beberapa masalah build kecil.
Memperbaiki masalah pada mode dukungan RenderScript.
Menambahkan dukungan target build untuk Android 4.3 (API level 18).
Rilis awal.
- Catatan Umum:
-
- Mencantumkan dukungan untuk target build Android 4.2 (API level 17).
- Memisahkan komponen khusus build Android SDK dari komponen alat platform, sehingga Build Tools dapat diupdate secara terpisah dari komponen lingkungan pengembangan terintegrasi (IDE).