Catatan rilis SDK Build Tools

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:

GroovyKotlin
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.

Build Tools, Revisi 34.0.0 RC3(April 2023)

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:

Update ini mencakup dukungan untuk mem-build aplikasi dengan API Pratinjau Android 11.

Update ini memperbaiki masalah berikut:

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 resource androidx.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 dan apksigner gagal mendekripsi keystore atau kunci, gunakan parameter ini untuk menetapkan encoding karakter yang digunakan untuk membuat keystore atau kunci. Untuk informasi selengkapnya, lihat dokumentasi apksigner atau jalankan apksigner 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 menggantikan jarsigner. Secara default, apksigner menandatangani APK menggunakan skema penandatanganan JAR konvensional (digunakan oleh jarsigner) 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, seperti zipalign, harus dilakukan sebelum apksigner dipanggil, bukan setelahnya. Memanggil zipalign sebelum apksigner akan berfungsi dengan baik karena apksigner mempertahankan kompresi dan keselarasan APK (tidak seperti jarsigner).
  • 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.

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).