ปลั๊กอิน Android สำหรับ Gradle ฉบับแก้ไข 1.5.0 (พฤศจิกายน 2015)
- Dependency
- หมายเหตุทั่วไป
-
- ผสานรวมปลั๊กอิน Data Binding เข้ากับปลั๊กอิน Android สำหรับ Gradle หากต้องการเปิดใช้ ให้เพิ่มโค้ดต่อไปนี้ลงในไฟล์
build.gradle
ของแต่ละโปรเจ็กต์ที่ใช้ปลั๊กอิน - เพิ่ม Transform API ใหม่เพื่ออนุญาตให้ปลั๊กอินของบุคคลที่สามดัดแปลงไฟล์
.class
ที่คอมไพล์แล้วก่อนที่จะแปลงเป็นไฟล์.dex
Transform API ช่วยลดความซับซ้อนในการแทรกการจัดการคลาสที่กําหนดเองไปพร้อมกับมอบความยืดหยุ่นมากขึ้นเกี่ยวกับสิ่งที่คุณจัดการได้ หากต้องการแทรกการเปลี่ยนรูปแบบลงในบิลด์ ให้สร้างคลาสใหม่ที่ใช้อินเทอร์เฟซTransform
รายการใดรายการหนึ่ง และลงทะเบียนด้วยandroid.registerTransform(theTransform)
หรือandroid.registerTransform(theTransform, dependencies)
คุณไม่จำเป็นต้องต่องานเข้าด้วยกัน โปรดทราบข้อมูลต่อไปนี้เกี่ยวกับ Transform API - การเปลี่ยนรูปแบบใช้ได้กับโปรเจ็กต์ปัจจุบัน โปรเจ็กต์ย่อย และไลบรารีภายนอกอย่างน้อย 1 รายการ
- คุณต้องลงทะเบียนการเปลี่ยนรูปแบบทั่วโลก ซึ่งจะใช้กับตัวแปรทั้งหมด
- การประมวลผลโค้ดภายในผ่าน Java Code Coverage Library (JaCoCo), ProGuard และ MultiDex จะใช้ Transform API อย่างไรก็ตาม Java Android Compiler Kit (Jack) ไม่ได้ใช้ API นี้ มีเพียงเส้นทางโค้ด
javac/dx
เท่านั้นที่ใช้ - Gradle จะดำเนินการเปลี่ยนรูปแบบตามลำดับต่อไปนี้ JaCoCo, ปลั๊กอินของบุคคลที่สาม, ProGuard ลําดับการดําเนินการของปลั๊กอินของบุคคลที่สามจะตรงกับลําดับที่ปลั๊กอินของบุคคลที่สามเพิ่มการเปลี่ยนรูปแบบ นักพัฒนาปลั๊กอินของบุคคลที่สามไม่สามารถควบคุมลําดับการดําเนินการของการเปลี่ยนรูปแบบผ่าน API ได้
- เลิกใช้งานตัวรับ
dex
จากคลาสApplicationVariant
คุณไม่สามารถเข้าถึงงานDex
ผ่าน Variant API ได้อีกต่อไปเนื่องจากตอนนี้งานดังกล่าวดำเนินการผ่านการเปลี่ยนรูปแบบแล้ว ขณะนี้ยังไม่มีวิธีอื่นในการควบคุมกระบวนการ Dex - แก้ไขการรองรับชิ้นงานที่เพิ่มขึ้น
- ปรับปรุงการรองรับ MultiDex โดยทำให้พร้อมใช้งานสำหรับโปรเจ็กต์ทดสอบ และตอนนี้การทดสอบจะมี
com.android.support:multidex-instrumentation
ขึ้นอยู่โดยอัตโนมัติ - เพิ่มความสามารถในการทำให้บิลด์ Gradle ดำเนินการไม่สำเร็จอย่างถูกต้องและรายงานสาเหตุของข้อผิดพลาดพื้นฐานเมื่อบิลด์ Gradle เรียกใช้งานแบบไม่พร้อมกันและกระบวนการของเวิร์กเกอร์ดำเนินการไม่สำเร็จ
- เพิ่มการรองรับการกำหนดค่าอินเทอร์เฟซแบบไบนารีของแอปพลิเคชัน (ABI) ที่เฉพาะเจาะจงในตัวแปรที่มี ABI หลายรายการ
- เพิ่มการรองรับรายการหมายเลขซีเรียลของอุปกรณ์ที่คั่นด้วยคอมมาสำหรับตัวแปรสภาพแวดล้อม
ANDROID_SERIAL
เมื่อติดตั้งหรือเรียกใช้การทดสอบ - แก้ไขการติดตั้งที่ไม่สำเร็จในอุปกรณ์ที่ใช้ Android 5.0 (API ระดับ 20) ขึ้นไปเมื่อชื่อ APK มีเว้นวรรค
- แก้ไขปัญหาต่างๆ ที่เกี่ยวข้องกับเอาต์พุตข้อผิดพลาดของ Android Asset Packaging Tool (AAPT)
- เพิ่มการรองรับเครื่องมือวัดผลแบบเพิ่มทีละน้อยของ JaCoCo เพื่อให้บิลด์แบบเพิ่มทีละน้อยเร็วขึ้น ตอนนี้ปลั๊กอิน Android สำหรับ Gradle จะเรียกใช้เครื่องมือวัดผล JaCoCo โดยตรง หากต้องการบังคับใช้เครื่องมือตรวจสอบ JaCoCo เวอร์ชันใหม่กว่า คุณต้องเพิ่มเครื่องมือดังกล่าวเป็นข้อกำหนดของสคริปต์บิลด์
- แก้ไขการรองรับ JaCoCo เพื่อไม่ให้มีการละเว้นไฟล์ที่ไม่ใช่คลาส
- เพิ่มการรองรับภาพวาดเวกเตอร์สำหรับการสร้าง PNG ในเวลาที่สร้างเพื่อให้ใช้งานร่วมกันได้
ปลั๊กอิน Android สำหรับ Gradle จะสร้างไฟล์ PNG สำหรับรูปภาพที่วาดได้แบบเวกเตอร์ทุกรายการที่พบในไดเรกทอรีทรัพยากรที่ไม่ได้ระบุเวอร์ชัน API หรือระบุแอตทริบิวต์
android:minSdkVersion
เป็น 20 หรือต่ำกว่าในองค์ประกอบ<uses-sdk>
ในไฟล์ Manifest ของแอป คุณตั้งค่าความหนาแน่นของ PNG ได้โดยใช้พร็อพเพอร์ตี้generatedDensities
ในส่วนdefaultConfig
หรือproductFlavor
ของไฟล์build.gradle
- เพิ่มการแชร์
android.jar
ที่จำลองได้ ซึ่งปลั๊กอินจะสร้างเพียงครั้งเดียวและใช้สำหรับยูนิตเทสติ้ง ตอนนี้มีโมดูลหลายรายการที่ใช้พื้นที่เก็บข้อมูลเดียวกัน เช่นapp
และlib
ลบ$rootDir/build
เพื่อสร้างใหม่ - เปลี่ยนการประมวลผลทรัพยากร Java ให้เกิดขึ้นก่อนงานสร้างความสับสนแทนที่จะประมวลผลระหว่างการแพ็กเกจ APK การเปลี่ยนแปลงนี้ช่วยให้งานสร้างความสับสนมีโอกาสปรับทรัพยากร Java ตามการสร้างความสับสนของแพ็กเกจ
- แก้ไขปัญหาเกี่ยวกับการใช้โค้ด Java Native Interface (JNI) ในปลั๊กอินไลบรารีเวอร์ชันทดลอง
- เพิ่มความสามารถในการตั้งค่าเวอร์ชันแพลตฟอร์มแยกจากแอตทริบิวต์
android:compileSdkVersion
ในปลั๊กอินคลังเวอร์ชันทดลอง
android { dataBinding { enabled = true } }
android { dataBinding { enabled = true } }
- ผสานรวมปลั๊กอิน Data Binding เข้ากับปลั๊กอิน Android สำหรับ Gradle หากต้องการเปิดใช้ ให้เพิ่มโค้ดต่อไปนี้ลงในไฟล์
เวอร์ชันต่ำสุด | เวอร์ชันเริ่มต้น | หมายเหตุ | |
---|---|---|---|
Gradle | 2.2.1 | 2.2.1 | ดูข้อมูลเพิ่มเติมได้ที่การอัปเดต Gradle |
เครื่องมือสร้าง SDK | 21.1.1 | 21.1.1 | ติดตั้งหรือกําหนดค่าเครื่องมือสร้าง SDK |