ปลั๊กอิน Android สำหรับ Gradle ฉบับแก้ไข 1.5.0 (พฤศจิกายน 2015)

Dependency
เวอร์ชันต่ำสุด เวอร์ชันเริ่มต้น หมายเหตุ
Gradle 2.2.1 2.2.1 ดูข้อมูลเพิ่มเติมได้ที่การอัปเดต Gradle
เครื่องมือสร้าง SDK 21.1.1 21.1.1 ติดตั้งหรือกําหนดค่าเครื่องมือสร้าง SDK
หมายเหตุทั่วไป
  • ผสานรวมปลั๊กอิน Data Binding เข้ากับปลั๊กอิน Android สำหรับ Gradle หากต้องการเปิดใช้ ให้เพิ่มโค้ดต่อไปนี้ลงในไฟล์ build.gradle ของแต่ละโปรเจ็กต์ที่ใช้ปลั๊กอิน
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • เพิ่ม 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 ในปลั๊กอินคลังเวอร์ชันทดลอง