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