ปลั๊กอิน 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 และการตรวจสอบในตัววิเคราะห์บิลด์
ตอนนี้ Build Analyzer จะแสดงคำเตือนหากไฟล์ gradle.properties
ของโปรเจ็กต์มี android.enableJetifier=true
เราได้เปิดตัวแฟล็กนี้ใน Android Studio เวอร์ชันก่อนหน้าเพื่อเปิดใช้ AndroidX สำหรับไลบรารีที่ไม่รองรับ AndroidX โดยเนทีฟ อย่างไรก็ตาม ระบบนิเวศของไลบรารีส่วนใหญ่ได้เปลี่ยนไป
รองรับ AndroidX โดยกำเนิดแล้ว และโปรเจ็กต์ของคุณอาจไม่จำเป็นต้องใช้แฟล็ก Jetifier อีกต่อไป
นอกจากนี้ แฟล็กยังอาจทำให้ประสิทธิภาพการสร้างช้าลงด้วย หากเห็นคำเตือนนี้ คุณสามารถเรียกใช้การตรวจสอบภายในเครื่องมือวิเคราะห์บิลด์เพื่อยืนยันว่า
นำแฟล็กออกได้หรือไม่
การรองรับการทดสอบ
ตั้งแต่ Android Studio Chipmunk Beta 1 เป็นต้นไป Android Studio รองรับทั้ง Android และ Java Test Fixture ดูคำแนะนำของ Gradle เกี่ยวกับการใช้การทดสอบที่กำหนดเอง{:.external} เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์การทดสอบที่กำหนดเองและวิธีใช้ในโปรเจ็กต์ Java
หากต้องการเปิดใช้ฟิกเจอร์การทดสอบในโมดูลคลัง 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 ที่เผยแพร่แล้ว คุณสามารถใช้เมธอดตัวช่วยของ Gradle testFixtures()
ได้
dependencies {
testImplementation testFixtures('com.example.company:publishedLib:1.0')
}
โดยค่าเริ่มต้น Lint จะวิเคราะห์แหล่งที่มาของฟิกเจอร์การทดสอบ คุณกำหนดค่า Lint ให้ไม่สนใจแหล่งที่มาของฟิกเจอร์การทดสอบได้โดยทำดังนี้
android {
lint {
ignoreTestFixturesSources true
}
}
ไม่รองรับรูทเนื้อหาที่ซ้ำกัน
ตั้งแต่ AGP 7.2 เป็นต้นไป คุณจะไม่สามารถแชร์แหล่งที่มาเดียวกัน ในหลายๆ ชุดแหล่งที่มาได้อีก เช่น คุณจะใช้แหล่งที่มาของการทดสอบเดียวกัน สําหรับทั้งการทดสอบหน่วยและการทดสอบเครื่องมือไม่ได้ ดูข้อมูลเพิ่มเติมได้ที่เปลี่ยน การกำหนดค่าชุดแหล่งข้อมูลเริ่มต้น