Android SDK Build-Tools เป็นคอมโพเนนต์ของ Android SDK ที่จำเป็นต่อการสร้างแอป Android
โดยจะติดตั้งอยู่ในไดเรกทอรี
<sdk>/build-tools/
คุณควรอัปเดตคอมโพเนนต์เครื่องมือบิลด์อยู่เสมอโดยดาวน์โหลดเวอร์ชันล่าสุด
โดยใช้ Android SDK Manager หากคุณใช้ปลั๊กอิน Android สำหรับ Gradle 3.0.0 ขึ้นไป
โปรเจ็กต์จะใช้เครื่องมือบิลด์เวอร์ชันเริ่มต้นที่ปลั๊กอินระบุโดยอัตโนมัติ หากต้องการ
ใช้เครื่องมือบิลด์เวอร์ชันอื่น ให้ระบุโดยใช้
buildToolsVersion
ใน build.gradle
ของโมดูล ดังนี้
Groovy
android { buildToolsVersion "35.0.0" ... }
Kotlin
android { buildToolsVersion = "35.0.0" ... }
การแก้ไข
ส่วนด้านล่างนี้มีหมายเหตุเกี่ยวกับการเปิดตัวเครื่องมือบิลด์ หากต้องการดูว่าเครื่องมือสร้างเวอร์ชันใดบ้างที่พร้อมใช้งานใน SDK ให้ดูรายการแพ็กเกจที่ติดตั้ง ใน Android SDK Manager
เครื่องมือบิลด์ ฉบับที่ 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)
การอัปเดตนี้รวมถึงการรองรับการสร้างด้วย Android 11 Preview API
เครื่องมือบิลด์ ฉบับที่ 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
เอกสารประกอบ หรือเรียกใช้apksigner sign --help
จากบรรทัดคำสั่ง -
ข้อความแสดงข้อผิดพลาดที่ดีขึ้นเมื่อ
apksigner
ยืนยันลายเซ็น JAR ไม่ได้เนื่องจาก อัลกอริทึมการแฮชหรือลายเซ็นไม่รองรับ (ปัญหา #63525618)
-
รองรับโหมด AAPT2 daemon เมื่อใช้
ปลั๊กอิน Android สำหรับ Gradle
3.0.0-beta7
ขึ้นไป
เครื่องมือบิลด์, การแก้ไข 26.0.1 (กรกฎาคม 2017)
นอกเหนือจากการแก้ไขข้อบกพร่องทั่วไปแล้ว รุ่นนี้ยังคืนค่า apksigner
ลงในแพ็กเกจเครื่องมือบิลด์ (ซึ่งถูกละเว้นโดยไม่ได้ตั้งใจในเวอร์ชัน 26.0.0) และมีการอัปเดตเครื่องมือ
ต่อไปนี้ด้วย
- เพิ่มการรองรับ PKCS #11 เพื่ออนุญาตให้ลงนามด้วยคีย์ที่จัดเก็บไว้ในฮาร์ดแวร์ที่ปลอดภัย (ปัญหา #37140484)
- เพิ่มการรองรับการโหลด ผู้ให้บริการ JCA เพิ่มเติมก่อนลงนาม
- Honor
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 เพื่อแก้ไขการอ้างอิงเมธอด 64K
เครื่องมือบิลด์ ฉบับที่ 21.0.2 (ตุลาคม 2014)
อัปเดต Eclipse ADT ให้เสร็จสมบูรณ์เพื่อแก้ไขปัญหาความไม่เสถียรในแพลตฟอร์ม Windows
เครื่องมือสร้าง เวอร์ชัน 21.0.1 (ตุลาคม 2014)
การอัปเดตครั้งแรกสำหรับ Eclipse ADT ใน Windows โปรดใช้เวอร์ชัน 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
Build Tools, Revision 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)