ปลั๊กอิน 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 ได้
  • เลิกใช้งาน Getter dex จากคลาส ApplicationVariant คุณไม่สามารถเข้าถึงงาน Dex ผ่าน Variant API ได้อีกต่อไปเนื่องจากตอนนี้ดำเนินการผ่านการแปลงแล้ว ปัจจุบันยังไม่มีการแทนที่สำหรับการควบคุมกระบวนการ Dex
  • แก้ไขการรองรับแบบเพิ่มทีละน้อยสำหรับชิ้นงาน
  • ปรับปรุงการรองรับ MultiDex โดยทำให้พร้อมใช้งานสำหรับโปรเจ็กต์ทดสอบ และ ตอนนี้การทดสอบจะมีทรัพยากร Dependency com.android.support:multidex-instrumentation โดยอัตโนมัติ
  • เพิ่มความสามารถในการล้มเหลวบิลด์ Gradle อย่างเหมาะสมและรายงานสาเหตุของข้อผิดพลาดพื้นฐาน เมื่อบิลด์ Gradle เรียกใช้งานแบบอะซิงโครนัสและเกิดข้อผิดพลาดในกระบวนการ Worker
  • เพิ่มการรองรับการกำหนดค่าอินเทอร์เฟซแบบไบนารีของแอปพลิเคชัน (ABI) ที่เฉพาะเจาะจงในตัวแปร ที่มี ABI หลายรายการ
  • เพิ่มการรองรับรายการหมายเลขซีเรียลของอุปกรณ์ที่คั่นด้วยคอมมาสำหรับตัวแปรสภาพแวดล้อม ANDROID_SERIAL เมื่อติดตั้งหรือเรียกใช้การทดสอบ
  • แก้ไขข้อผิดพลาดในการติดตั้งในอุปกรณ์ที่ใช้ Android 5.0 (API ระดับ 20) ขึ้นไป เมื่อชื่อ APK มีช่องว่าง
  • แก้ไขปัญหาต่างๆ ที่เกี่ยวข้องกับเอาต์พุตข้อผิดพลาดของ Android Asset Packaging Tool (AAPT)
  • เพิ่มการรองรับการวัดประสิทธิภาพแบบเพิ่มทีละน้อยของ JaCoCo เพื่อให้บิลด์แบบเพิ่มทีละน้อยเร็วขึ้น ตอนนี้ปลั๊กอิน Android สำหรับ Gradle จะเรียกใช้เครื่องมือวัดประสิทธิภาพของ JaCoCo โดยตรง หากต้องการบังคับใช้เครื่องมือวัดประสิทธิภาพของ JaCoCo เวอร์ชันใหม่กว่า คุณต้องเพิ่มเครื่องมือดังกล่าวเป็นทรัพยาการ Dependency ของสคริปต์บิลด์
  • แก้ไขการรองรับ JaCoCo เพื่อให้ระบบไม่สนใจไฟล์ที่ไม่ใช่คลาส
  • เพิ่มการรองรับ Vector Drawable สำหรับการสร้าง PNG ในเวลาบิลด์เพื่อความเข้ากันได้แบบย้อนหลัง ปลั๊กอิน Android สำหรับ Gradle จะสร้าง PNG สำหรับ Vector Drawable ทุกรายการที่พบในไดเรกทอรีทรัพยากรที่ไม่ได้ระบุเวอร์ชัน API หรือระบุแอตทริบิวต์ android:minSdkVersion เป็น 20 หรือต่ำกว่าในองค์ประกอบ <uses-sdk> ในไฟล์ Manifest ของแอป คุณสามารถตั้งค่าความหนาแน่นของ PNG ได้โดย ใช้พร็อพเพอร์ตี้ generatedDensities ในส่วน defaultConfig หรือ productFlavor ของไฟล์ build.gradle
  • เพิ่มการแชร์ android.jar ที่จำลองได้ ซึ่งปลั๊กอินจะสร้างเพียงครั้งเดียวและใช้สำหรับการทำ Unit Test ตอนนี้โมดูลหลายโมดูล เช่น app และ lib จะแชร์ไฟล์นี้ ลบ $rootDir/build เพื่อสร้างไฟล์นี้ใหม่
  • เปลี่ยนการประมวลผลทรัพยากร Java ให้เกิดขึ้นก่อนงานการปกปิดโค้ดแทนที่จะเกิดขึ้นระหว่างการแพ็กเกจ APK การเปลี่ยนแปลงนี้ช่วยให้งานการปกปิดโค้ดมีโอกาส ปรับทรัพยากร Java ตามการปกปิดโค้ดแพ็กเกจ
  • แก้ไขปัญหาเกี่ยวกับการใช้โค้ด Java Native Interface (JNI) ในปลั๊กอินไลบรารีทดลอง
  • เพิ่มความสามารถในการตั้งค่าเวอร์ชันแพลตฟอร์มแยกจาก android:compileSdkVersion แอตทริบิวต์ในปลั๊กอินไลบรารีทดลอง