ปลั๊กอิน Android Gradle เวอร์ชัน 7.2.0 (พฤษภาคม 2022)

ปลั๊กอิน Android Gradle เวอร์ชัน 7.2.0 เป็นรุ่นหลักที่มี ฟีเจอร์ใหม่และการปรับปรุงต่างๆ มากมาย

7.2.2 (สิงหาคม 2022)

การอัปเดตย่อยนี้สอดคล้องกับการเปิดตัว 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
7.2.1 (พฤษภาคม 2022)

การอัปเดตย่อยนี้สอดคล้องกับการเปิดตัว 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 อีกต่อไป นอกจากนี้ แฟล็กนี้ยังอาจทำให้ประสิทธิภาพการทำงานของบิลด์ช้าลงด้วย หาก เห็นคำเตือนนี้ คุณสามารถเรียกใช้การตรวจสอบภายในตัววิเคราะห์บิลด์เพื่อยืนยันว่า นำแฟล็กออกได้หรือไม่

การรองรับชุดทดสอบ

ตั้งแต่ Android Studio Chipmunk Beta 1 เป็นต้นมา Android Studio รองรับทั้ง ชุดทดสอบ Android และ Java ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ชุดทดสอบและวิธีใช้ในโปรเจ็กต์ Java ได้ที่คู่มือการใช้ชุดทดสอบ{:.external} ของ Gradle

หากต้องการเปิดใช้ชุดทดสอบในโมดูลไลบรารี Android ให้เพิ่มโค้ดต่อไปนี้ลงใน ไฟล์ระดับไลบรารี build.gradle:

android {
  testFixtures {
    enable true
    // enable testFixtures's android resources (disabled by default)
    // androidResources true
  }
}

โดยค่าเริ่มต้น การเผยแพร่ไลบรารีจะเผยแพร่ AAR ของชุดทดสอบพร้อมกับ ไลบรารีหลักด้วย ไฟล์ข้อมูลเมตาของโมดูล Gradle จะมีข้อมูลสำหรับ Gradle เพื่อให้ใช้ Artifact ที่ถูกต้องได้เมื่อขอ testFixtures คอมโพเนนต์

หากต้องการปิดใช้การเผยแพร่ AAR ของชุดทดสอบของไลบรารีใน Variant รุ่นที่เผยแพร่ ให้เพิ่มโค้ดต่อไปนี้ลงในไฟล์ 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 เป็นต้นไป คุณจะไม่สามารถแชร์ไดเรกทอรีแหล่งที่มาเดียวกันในชุดแหล่งที่มาหลายชุดได้อีกต่อไป เช่น คุณจะใช้แหล่งที่มาของการทดสอบเดียวกันสำหรับ การทดสอบแบบยูนิตและการทดสอบการทำงานร่วมกันไม่ได้ ดูข้อมูลเพิ่มเติมได้ที่ ดู เปลี่ยนการ กำหนดค่าชุดแหล่งที่มาเริ่มต้น