ปลั๊กอิน Android Gradle 7.2.0 (พฤษภาคม 2022)
ปลั๊กอิน Android Gradle 7.2.0 เป็นรุ่นหลักที่มีฟีเจอร์และการปรับปรุงใหม่ๆ มากมาย
การอัปเดตเล็กน้อยนี้สอดคล้องกับรุ่น Android Studio Chipmunk แพตช์ 2 และมีการแก้ไขข้อบกพร่องต่อไปนี้
- ปัญหา #232438924: AndroidGradlePlugin เวอร์ชัน 7.2 ทำให้ Transform API ใช้งานไม่ได้เมื่อใช้ร่วมกับ ASM API
- ปัญหา #231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
การอัปเดตเล็กน้อยนี้สอดคล้องกับรุ่น Android Studio Chipmunk แพตช์ 1 และมีการแก้ไขข้อบกพร่องต่อไปนี้
- ปัญหา #230361284: bundletool แพ็กเกจโปรไฟล์พื้นฐานไม่ถูกต้อง
หากต้องการดูการแก้ไขข้อบกพร่องอื่นๆ ที่มีให้ในรุ่นนี้ โปรดดูบันทึกประจำรุ่นของ Android Studio Chipmunk Patch 1
ความเข้ากันได้
เวอร์ชันต่ำสุด | เวอร์ชันเริ่มต้น | หมายเหตุ | |
---|---|---|---|
Gradle | 7.3.3 | 7.3.3 | ดูข้อมูลเพิ่มเติมได้ที่การอัปเดต Gradle |
เครื่องมือสร้าง SDK | 30.0.3 | 30.0.3 | ติดตั้งหรือกําหนดค่าเครื่องมือสร้าง SDK |
NDK | ไม่มี | 21.4.7075529 | ติดตั้งหรือกําหนดค่า NDK เวอร์ชันอื่น |
JDK | 11 | 11 | ดูข้อมูลเพิ่มเติมได้ที่การตั้งค่าเวอร์ชัน JDK |
คำเตือนและการตรวจสอบ Jetifier ในเครื่องมือวิเคราะห์บิลด์
ตอนนี้เครื่องมือวิเคราะห์บิลด์จะแสดงคำเตือนหากไฟล์ gradle.properties
ของโปรเจ็กต์มี android.enableJetifier=true
แฟล็กนี้เปิดตัวใน Android Studio เวอร์ชันก่อนหน้าเพื่อเปิดใช้ AndroidX สำหรับไลบรารีที่ไม่รองรับ AndroidX โดยกำเนิด อย่างไรก็ตาม ระบบนิเวศของไลบรารีส่วนใหญ่ได้เปลี่ยนไปรองรับ AndroidX โดยกำเนิดแล้ว และโปรเจ็กต์ของคุณอาจไม่จำเป็นต้องใช้ Flag ของ Jetifier อีกต่อไป นอกจากนี้ การตั้งค่าสถานะยังอาจทําให้ประสิทธิภาพของบิลด์ช้าลงด้วย หากเห็นคำเตือนนี้ ให้เรียกใช้การตรวจสอบภายในเครื่องมือวิเคราะห์การสร้างเพื่อยืนยันว่าสามารถนําการแจ้งว่าไม่เหมาะสมออกได้หรือไม่
การรองรับฟิกซ์เจอร์การทดสอบ
ตั้งแต่ Android Studio Chipmunk เบต้า 1 เป็นต้นไป Android Studio รองรับทั้งฟิกซ์เจอร์การทดสอบ Java และ Android ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ฟิกซ์เจอร์การทดสอบและวิธีใช้ในโปรเจ็กต์ Java ได้จากคู่มือของ Gradle เกี่ยวกับการใช้ฟิกซ์เจอร์การทดสอบ{:.external}
หากต้องการเปิดใช้ฟิกซ์เจอร์การทดสอบในโมดูลคลัง Android ให้เพิ่มข้อมูลต่อไปนี้ลงในไฟล์ build.gradle
ระดับคลัง
android {
testFixtures {
enable true
// enable testFixtures's android resources (disabled by default)
// androidResources true
}
}
โดยค่าเริ่มต้น การเผยแพร่ไลบรารีจะเผยแพร่ AAR ของฟิกซ์เจอร์ทดสอบพร้อมกับไลบรารีหลักด้วย ไฟล์ข้อมูลเมตาของโมดูล Gradle จะมีข้อมูลสำหรับ Gradle เพื่อใช้อาร์ติแฟกต์ที่เหมาะสมเมื่อขอคอมโพเนนต์ testFixtures
หากต้องการปิดใช้การเผยแพร่ AAR ของฟิกซ์เจอร์การทดสอบของไลบรารีในตัวแปรรุ่น ให้เพิ่มข้อมูลต่อไปนี้ลงในไฟล์ build.gradle
ระดับไลบรารี
afterEvaluate {
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}
หากต้องการใช้ AAR ของฟิกซ์เจอร์การทดสอบของไลบรารี Android ที่เผยแพร่แล้ว คุณสามารถใช้เมธอดตัวช่วย testFixtures()
ของ Gradle
dependencies {
testImplementation testFixtures('com.example.company:publishedLib:1.0')
}
โดยค่าเริ่มต้น Lint จะวิเคราะห์แหล่งที่มาของฟิกซ์เจอร์การทดสอบ คุณสามารถกําหนดค่า lint ให้ละเว้นแหล่งที่มาของฟิกซ์เจอร์การทดสอบได้โดยทำดังนี้
android {
lint {
ignoreTestFixturesSources true
}
}
ไม่รองรับรูทเนื้อหาที่ซ้ำกัน
ตั้งแต่ AGP 7.2 เป็นต้นไป คุณจะแชร์ไดเรกทอรีแหล่งที่มาเดียวกันในชุดแหล่งที่มาหลายชุดไม่ได้อีกต่อไป เช่น คุณใช้แหล่งที่มาของการทดสอบเดียวกันสําหรับทั้งการทดสอบหน่วยและการทดสอบเครื่องมือวัดไม่ได้ ดูข้อมูลเพิ่มเติมได้ที่เปลี่ยนการกำหนดค่าชุดแหล่งที่มาเริ่มต้น