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

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

7.2.2 (สิงหาคม 2022)

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

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