Android SDK Build-Tools เป็นคอมโพเนนต์ของ Android SDK ที่จําเป็นสําหรับการสร้างแอป Android ติดตั้งไว้ในไดเรกทอรี <sdk>/build-tools/
คุณควรอัปเดตคอมโพเนนต์เครื่องมือสร้างอยู่เสมอโดยดาวน์โหลดเวอร์ชันล่าสุดโดยใช้ Android SDK Manager หากคุณใช้ปลั๊กอิน Android สำหรับ Gradle 3.0.0 ขึ้นไป โปรเจ็กต์จะใช้เครื่องมือสร้างเวอร์ชันเริ่มต้นที่ปลั๊กอินระบุโดยอัตโนมัติ หากต้องการใช้เครื่องมือสร้างเวอร์ชันอื่น ให้ระบุโดยใช้ buildToolsVersion
ใน build.gradle
ของโมดูล ดังนี้
Groovy
android { buildToolsVersion "34.0.0" ... }
Kotlin
android { buildToolsVersion = "34.0.0" ... }
การแก้ไข
ส่วนด้านล่างนี้จะแสดงหมายเหตุเกี่ยวกับรุ่นของเครื่องมือสร้าง หากต้องการดูว่าเครื่องมือสร้างเวอร์ชันใดบ้างที่ใช้ได้ใน SDK ให้ดูรายการแพ็กเกจที่ติดตั้งในเครื่องมือจัดการ SDK ของ Android
เครื่องมือสร้าง เวอร์ชัน 34.0.0 RC3(เมษายน 2023)
แก้ไขข้อบกพร่องทั่วไปและปรับปรุง
เครื่องมือสร้าง เวอร์ชัน 34.0.0 (กุมภาพันธ์ 2023)
การอัปเดตนี้รวมถึงการรองรับการสร้างด้วย API ตัวอย่างของ Android 14
เครื่องมือสร้าง เวอร์ชัน 33.0.2 (กุมภาพันธ์ 2023)
การอัปเดตนี้แก้ไขปัญหาต่อไปนี้
-
core-lambda-stubs.jar
เวอร์ชัน 33.0.0 จะแตกต่างกันใน macOS กับ Linux/Windows (ดูปัญหา #237299698)
เครื่องมือสร้าง เวอร์ชัน 33.0.1 (พฤศจิกายน 2022)
การอัปเดตนี้แก้ไขปัญหาต่อไปนี้
- AIDL ไม่สำเร็จด้วยเครื่องมือสร้าง 33.0.0 (ดูปัญหา #236167971)
เครื่องมือสร้าง เวอร์ชัน 30.0.0 rc4 (พฤษภาคม 2020)
การอัปเดตนี้รองรับการสร้างด้วย API ของ Android 11 Preview
เครื่องมือสร้าง เวอร์ชัน 29.0.3 (มกราคม 2020)
การอัปเดตนี้แก้ไขปัญหาต่อไปนี้
- ปัญหาการสร้างกับ Renderscript ใน macOS Catalina (ดูปัญหา #142590626)
เครื่องมือสร้าง เวอร์ชัน 29.0.2 (สิงหาคม 2019)
การอัปเดตนี้แก้ไขปัญหาต่อไปนี้
เครื่องมือสร้าง เวอร์ชัน 29.0.0 (มิถุนายน 2019)
การอัปเดตนี้รองรับการสร้างด้วย API ระดับ 29
เครื่องมือสร้าง เวอร์ชัน 28.0.3 (กันยายน 2018)
การอัปเดตนี้รองรับปลั๊กอิน Android Gradle 3.2.0 และแก้ไขปัญหาต่อไปนี้
-
แก้ไขข้อบกพร่องของไลบรารี JNI ที่ทำให้แอปขัดข้องเมื่อเรียกใช้
androidx.renderscript.RenderScript.create()
-
แก้ไขข้อบกพร่องที่ทําให้เกิดข้อผิดพลาด
Program type already present
ในบิลด์เมื่อใช้ทรัพยากรandroidx.annotation
เครื่องมือสร้าง เวอร์ชัน 28.0.2 (สิงหาคม 2018)
มี D8 เวอร์ชันล่าสุด
เครื่องมือสร้าง เวอร์ชัน 27.0.3 (ธันวาคม 2017)
ปรับปรุงการรองรับการคอมไพล์ Lambda เมื่อคุณเปิดใช้ฟีเจอร์ภาษา Java 8
เครื่องมือสร้าง เวอร์ชัน 27.0.2 (ธันวาคม 2017)
ปรับปรุงการรองรับฟีเจอร์ภาษาของ Java 8
เครื่องมือสร้าง เวอร์ชัน 27.0.1 (พฤศจิกายน 2017)
เพิ่มการรองรับ MultiDex แบบเดิมสําหรับ APK ทดสอบ (ปัญหา #37324038)
เครื่องมือสร้าง เวอร์ชัน 26.0.2 (ตุลาคม 2017)
นอกเหนือจากการแก้ไขข้อบกพร่องทั่วไปแล้ว เวอร์ชันนี้ยังมีการอัปเดตต่อไปนี้ด้วย
- การอัปเดต
apksigner
เป็นเวอร์ชัน 0.8 มีดังนี้- ความเข้ากันได้กับ Java 9 (ปัญหา #37137869)
-
พารามิเตอร์
--pass-encoding
ใหม่สำหรับจัดการคีย์สโตร์และคีย์ที่เข้ารหัสโดยใช้รหัสผ่านที่ไม่ใช่ ASCII หากคุณเปลี่ยนไปใช้ Java 9 และapksigner
ถอดรหัสคีย์สโตร์หรือคีย์ไม่ได้ ให้ใช้พารามิเตอร์นี้เพื่อระบุการเข้ารหัสอักขระที่คุณใช้สร้างคีย์สโตร์หรือคีย์ ดูข้อมูลเพิ่มเติมได้ที่apksigner
Documentation หรือเรียกใช้apksigner sign --help
จากบรรทัดคำสั่ง -
ข้อความแสดงข้อผิดพลาดที่ดีขึ้นเมื่อ
apksigner
ยืนยันลายเซ็น JAR ไม่ได้เนื่องจากมี Digest หรืออัลกอริทึมลายเซ็นที่ไม่รองรับ (ปัญหา #63525618)
-
รองรับโหมด Daemon ของ AAPT2 เมื่อใช้ปลั๊กอิน Android สำหรับ Gradle
3.0.0-beta7
ขึ้นไป
เครื่องมือสร้าง เวอร์ชัน 26.0.1 (กรกฎาคม 2017)
นอกเหนือจากการแก้ไขข้อบกพร่องทั่วไปแล้ว เวอร์ชันนี้ยังคืนค่า apksigner
ให้กับแพ็กเกจเครื่องมือสร้าง (มีการละเว้นไปโดยไม่ได้ตั้งใจในเวอร์ชัน 26.0.0) และมีการอัปเดตเครื่องมือต่อไปนี้ด้วย
- เพิ่มการรองรับ PKCS #11 เพื่ออนุญาตให้ลงนามด้วยคีย์ที่อยู่ในฮาร์ดแวร์ที่ปลอดภัย (ปัญหา #37140484)
- เพิ่มการรองรับการโหลดผู้ให้บริการ JCA เพิ่มเติมก่อนลงนาม
- ปฏิบัติตาม
android:targetSandboxVersion
เมื่อยืนยัน APK - เมื่อลงนาม จะปฏิเสธ APK ที่มีไฟล์ที่มีอักขระพิเศษ "CR" (carriage return), "LF" (line feed) หรือ "NUL" (null) ในชื่อไฟล์
- แก้ไข
apksigner.bat
ให้จัดการพารามิเตอร์ที่มีเว้นวรรคได้อย่างถูกต้อง (ปัญหา #38132450) - แก้ไขข้อบกพร่องในการยืนยันลายเซ็น JAR เมื่อมีการรวมข้อมูลเมตาหลายรายการสำหรับรายการเดียวกันใน
MANIFEST.MF
(ปัญหา #38497270)
เครื่องมือสร้างเวอร์ชัน 26.0.0 (มิถุนายน 2017)
เพิ่มการรองรับการสร้างด้วย API ระดับ 26 และมีการแก้ไขข้อบกพร่องทั่วไป
เครื่องมือสร้าง เวอร์ชัน 25.0.3 (เมษายน 2017)
การอัปเดตสำหรับ apksigner
- เพิ่มพารามิเตอร์
--in
เพื่อให้สมดุลกับพารามิเตอร์--out
ที่มีอยู่ - หากคุณไม่ได้ระบุรหัสผ่านคีย์โดยใช้
--key-pass
apksigner
จะใช้รหัสผ่านคีย์สโตร์เป็นรหัสผ่านคีย์ อย่างไรก็ตาม หากคีย์ต้องใช้รหัสผ่านอื่น ระบบจะแจ้งให้คุณป้อนรหัสผ่านของคีย์จากบรรทัดคำสั่ง (ปัญหา #37134986) - เพิ่มความเข้ากันได้กับ
jarsigner
สำหรับรหัสผ่านที่ไม่ใช่ ASCII (ปัญหา #37135737)
เครื่องมือสร้าง เวอร์ชัน 25.0.2 (ธันวาคม 2016)
แก้ไขข้อบกพร่อง
เครื่องมือสร้าง เวอร์ชัน 25.0.1 (พฤศจิกายน 2016)
รุ่นนี้มีการแก้ไขข้อบกพร่องและการปรับปรุงapksigner
ต่อไปนี้
- รองรับ APK ที่มีชื่อรายการ JAR ที่มีการสร้างความสับสน
- ตอนนี้สวิตช์
--print-certs
จะแสดงลายนิ้วมือ MD5 ด้วย
เครื่องมือสร้าง เวอร์ชัน 25.0.0 (ตุลาคม 2016)
การแก้ไขข้อบกพร่องสำหรับชุดเครื่องมือ Jack
- แก้ไขปัญหาเกี่ยวกับ Jack ที่รองรับไฟล์ต้นทางที่ไม่ใช่ ASCII (ปัญหา #218892)
- แก้ไขปัญหาที่ทำให้เกิด
AssertionError
ระหว่างการคอมไพล์ (ปัญหา #208414)
เครื่องมือสร้าง เวอร์ชัน 24.0.3 (กันยายน 2016)
- เพิ่ม
apksigner
ซึ่งเป็นเครื่องมือสำหรับรับรอง APK ที่จะมาแทนที่jarsigner
โดยค่าเริ่มต้นapksigner
จะลงชื่อ APK โดยใช้รูปแบบการรับรอง JAR แบบดั้งเดิม (ซึ่งjarsigner
ใช้) และ APK Signature Scheme v2 ที่เปิดตัวใน Android 7.0 (API ระดับ 24) การแก้ไข APK ที่ลงนามด้วย APK Signature Scheme v2 จะทําให้ลายเซ็นของ APK นั้นใช้งานไม่ได้ ดังนั้น การประมวลผล APK หลังการประมวลผล เช่นzipalign
ต้องดำเนินการก่อนเรียกใช้apksigner
ไม่ใช่หลังจากเรียกใช้ การเรียกใช้zipalign
ก่อนapksigner
จะทํางานได้เพราะapksigner
จะรักษาการจัดแนวและการบีบอัด APK ไว้ (ต่างจากjarsigner
)
เครื่องมือสร้าง เวอร์ชัน 23.0.3 (มีนาคม 2016)
- แก้ไขปัญหาในไลบรารีสนับสนุน RenderScript บนอุปกรณ์ที่ใช้ ARM64
- แก้ไขปัญหาในไลบรารีสนับสนุน RenderScript ในอุปกรณ์ Jelly Bean บางรุ่น
- รองรับ
renderscriptTargetAPI 21+
เมื่อใช้ปลั๊กอิน Android สำหรับ Gradle เวอร์ชัน 2.1.0 ขึ้นไป
เครื่องมือสร้าง เวอร์ชัน 23.0.2 (พฤศจิกายน 2015)
- ปรับปรุงประสิทธิภาพการผสานของเครื่องมือ
dx
- แก้ไขปัญหาในคอมไพเลอร์ RenderScript สำหรับ Windows
เครื่องมือสร้าง เวอร์ชัน 23.0.1 (ตุลาคม 2015)
แก้ไขปัญหาในเครื่องมือ RenderScript
เครื่องมือสร้าง เวอร์ชัน 23.0.0 (สิงหาคม 2015)
เพิ่มการรองรับรุ่น Android 6.0 (API ระดับ 23)
เครื่องมือสร้าง เวอร์ชัน 22.0.1 (มีนาคม 2015)
แก้ไขปัญหาความเข้ากันได้กับเคอร์เนล RenderScript ในอุปกรณ์ Android 4.4 (API ระดับ 19) ถึง Android 4.1 (API ระดับ 16)
เครื่องมือสร้าง เวอร์ชัน 22.0.0 (มีนาคม 2015)
เพิ่มการรองรับ Android 5.1 (API ระดับ 22)
เครื่องมือสร้าง เวอร์ชัน 21.1.2 (กุมภาพันธ์ 2015)
แก้ไขปัญหาการสร้างเลย์เอาต์ข้อมูลในโหมด 32 บิต
เครื่องมือสร้าง เวอร์ชัน 21.1.1 (พฤศจิกายน 2014)
แก้ไขปัญหาสคริปต์ MultiDex
เครื่องมือสร้าง ฉบับที่ 21.1 (ตุลาคม 2014)
เพิ่มการรองรับไฟล์ MultiDex สำหรับ APK และการรองรับ Jack เพื่อจัดการกับขีดจำกัดการอ้างอิงเมธอด 64 KB
เครื่องมือสร้าง เวอร์ชัน 21.0.2 (ตุลาคม 2014)
อัปเดต Eclipse ADT ให้เสร็จสมบูรณ์เพื่อแก้ปัญหาความไม่เสถียรบนแพลตฟอร์ม Windows
เครื่องมือสร้าง เวอร์ชัน 21.0.1 (ตุลาคม 2014)
การอัปเดตครั้งแรกสําหรับ Eclipse ADT ใน Windows โปรดใช้ Revision 21.0.2
เครื่องมือสร้าง เวอร์ชัน 21.0.0 (ตุลาคม 2014)
- หมายเหตุทั่วไป
-
- เพิ่มการรองรับ Android 5.0 (API ระดับ 21)
- ตอนนี้ RenderScript รองรับการดำเนินการแบบ 32/64 บิตอย่างราบรื่นสำหรับ API ระดับ 21 ขึ้นไป
- แก้ปัญหาเกี่ยวกับระบบการบิลด์ Gradle เมื่อใช้ปลั๊กอิน JaCoCo (ปัญหา 69174)
- เพิ่มตัวเลือก input-list สำหรับใช้กับบรรทัดคำสั่งที่ยาวใน Windows
เครื่องมือสร้าง เวอร์ชัน 20.0.0 (มิถุนายน 2014)
- หมายเหตุทั่วไป
-
- เพิ่มการรองรับ Android Wear
เครื่องมือสร้างเวอร์ชัน 19.1.0 (พฤษภาคม 2014)
- หมายเหตุทั่วไป
-
- เพิ่ม
zipalign
ลงในเครื่องมือสร้าง - แก้ไข
aapt
เพื่อละเว้นไฟล์ XML ที่คอมไพล์ไม่สำเร็จ
- เพิ่ม
เครื่องมือสร้าง เวอร์ชัน 19.0.3 (มีนาคม 2014)
แก้ไขปัญหาการรองรับ RenderScript
เครื่องมือสร้าง เวอร์ชัน 19.0.2 (กุมภาพันธ์ 2014)
- แก้ไขปัญหาเกี่ยวกับบิลด์ RenderScript ต่อไปนี้
-
- แก้ไขปัญหาเกี่ยวกับการเข้ารหัสบิตโค้ดของ RenderScript (ปัญหา 64775)
- แก้ไขปัญหาเกี่ยวกับ RenderScript ที่ขาดสัญลักษณ์ทางคณิตศาสตร์ (ข้อบกพร่อง 64110)
เครื่องมือสร้างเวอร์ชัน 19.0.1 (ธันวาคม 2013)
- แก้ไขปัญหาต่างๆ เกี่ยวกับการสร้าง
-
- แก้ไขการรองรับการคอมไพล์ RenderScript ในโหมด NDK ด้วย Gradle
- แก้ไขปัญหา
BufferOverflowException
ในบิลด์ dx (ปัญหา 61710)
เครื่องมือสร้างเวอร์ชัน 19 (ตุลาคม 2013)
เพิ่มการรองรับเป้าหมายการสร้าง Android 4.4 (API ระดับ 19)
เครื่องมือสร้าง เวอร์ชัน 18.1.1 (กันยายน 2013)
แก้ไขปัญหาเล็กน้อยหลายประการเกี่ยวกับบิลด์
เครื่องมือสร้าง เวอร์ชัน 18.1.0 (กันยายน 2013)
แก้ไขปัญหาเกี่ยวกับโหมดการสนับสนุน RenderScript
เครื่องมือสร้างเวอร์ชัน 18.0.1 (กรกฎาคม 2013)
เพิ่มการรองรับเป้าหมายการสร้าง Android 4.3 (API ระดับ 18)
เครื่องมือสร้าง ฉบับที่ 17 (พฤษภาคม 2013)
การเผยแพร่ครั้งแรก
- หมายเหตุทั่วไป
-
- รองรับการกำหนดเป้าหมายการสร้าง Android 4.2 (API ระดับ 17)
- แยกคอมโพเนนต์เฉพาะบิลด์ของ Android SDK ออกจากคอมโพเนนต์ platform-tools เพื่อให้อัปเดตเครื่องมือสร้างได้โดยไม่ขึ้นอยู่กับคอมโพเนนต์สภาพแวดล้อมการพัฒนาแบบรวม (IDE)