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

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

7.2.2 (สิงหาคม 2022)

การอัปเดตเล็กน้อยนี้สอดคล้องกับรุ่น Android Studio Chipmunk แพตช์ 2 และมีการแก้ไขข้อบกพร่องต่อไปนี้

  • ปัญหา #232438924: AndroidGradlePlugin เวอร์ชัน 7.2 ทำให้ Transform 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 แพตช์ 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 โดยกำเนิดแล้ว และโปรเจ็กต์ของคุณอาจไม่จำเป็นต้องใช้ Flag ของ Jetifier อีกต่อไป นอกจากนี้ การตั้งค่าสถานะยังอาจทําให้ประสิทธิภาพของบิลด์ช้าลงด้วย หากเห็นคำเตือนนี้ ให้เรียกใช้การตรวจสอบภายในเครื่องมือวิเคราะห์การสร้างเพื่อยืนยันว่าสามารถนําการแจ้งว่าไม่เหมาะสมออกได้หรือไม่

การรองรับฟิกซ์เจอร์การทดสอบ

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

หากต้องการเปิดใช้ฟิกซ์เจอร์การทดสอบในโมดูลคลัง 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 ที่เผยแพร่แล้ว คุณสามารถใช้เมธอดตัวช่วย testFixtures() ของ Gradle

dependencies {
  testImplementation testFixtures('com.example.company:publishedLib:1.0')
}

โดยค่าเริ่มต้น Lint จะวิเคราะห์แหล่งที่มาของฟิกซ์เจอร์การทดสอบ คุณสามารถกําหนดค่า lint ให้ละเว้นแหล่งที่มาของฟิกซ์เจอร์การทดสอบได้โดยทำดังนี้

android {
  lint {
    ignoreTestFixturesSources true
  }
}

ไม่รองรับรูทเนื้อหาที่ซ้ำกัน

ตั้งแต่ AGP 7.2 เป็นต้นไป คุณจะแชร์ไดเรกทอรีแหล่งที่มาเดียวกันในชุดแหล่งที่มาหลายชุดไม่ได้อีกต่อไป เช่น คุณใช้แหล่งที่มาของการทดสอบเดียวกันสําหรับทั้งการทดสอบหน่วยและการทดสอบเครื่องมือวัดไม่ได้ ดูข้อมูลเพิ่มเติมได้ที่เปลี่ยนการกำหนดค่าชุดแหล่งที่มาเริ่มต้น