ปลั๊กอิน Android Gradle 7.2.0 (พฤษภาคม 2022)
ปลั๊กอิน Android Gradle 7.2.0 เป็นรุ่นหลักที่มีหลากหลาย ฟีเจอร์ใหม่และการปรับปรุงต่างๆ
การอัปเดตเล็กน้อยนี้สอดคล้องกับการเปิดตัว Chipmunk ของ Android Studio แพตช์ 2 และรวมการแก้ไขข้อบกพร่องต่อไปนี้
- ปัญหา #232438924: AndroidGradlePlugin เวอร์ชัน 7.2 ทำลาย API เมื่อใช้ร่วมกับ ASM API
- ปัญหา #231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
การอัปเดตเล็กน้อยนี้สอดคล้องกับการเปิดตัว Chipmunk ของ Android Studio แพตช์ 1 และรวมการแก้ไขข้อบกพร่องต่อไปนี้
- ปัญหา #230361284: Bundletool ไม่ได้ทำแพ็กเกจโปรไฟล์พื้นฐานอย่างถูกต้อง
หากต้องการดูการแก้ไขข้อบกพร่องอื่นๆ ที่รวมอยู่ในรุ่นนี้ โปรดดูที่ Android Studio Chipmunk Patch 1 บันทึกประจำรุ่น
ความเข้ากันได้
เวอร์ชันต่ำสุด | เวอร์ชันเริ่มต้น | หมายเหตุ | |
---|---|---|---|
เกรเดิล | 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 จะรองรับทั้ง อุปกรณ์ทดสอบ Android และ Java ดูคู่มือของ 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 เป็นต้นไป คุณจะไม่สามารถแชร์แหล่งที่มาเดียวกันได้อีกต่อไป ในชุดแหล่งที่มาหลายชุด ตัวอย่างเช่น คุณไม่สามารถใช้ แหล่งที่มาการทดสอบสำหรับทั้งการทดสอบหน่วยและการทดสอบการใช้เครื่องมือ หากต้องการทราบข้อมูลเพิ่มเติม ดูเปลี่ยนแปลง แหล่งที่มาเริ่มต้นจะตั้งค่าการกำหนดค่า