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

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