ปลั๊กอิน 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 และการตรวจสอบในตัววิเคราะห์บิลด์

ตอนนี้ Build Analyzer จะแสดงคำเตือนหากไฟล์ gradle.properties ของโปรเจ็กต์มี android.enableJetifier=true เราได้เปิดตัวแฟล็กนี้ใน Android Studio เวอร์ชันก่อนหน้าเพื่อเปิดใช้ AndroidX สำหรับไลบรารีที่ไม่รองรับ AndroidX โดยเนทีฟ อย่างไรก็ตาม ระบบนิเวศของไลบรารีส่วนใหญ่ได้เปลี่ยนไป รองรับ AndroidX โดยกำเนิดแล้ว และโปรเจ็กต์ของคุณอาจไม่จำเป็นต้องใช้แฟล็ก Jetifier อีกต่อไป นอกจากนี้ แฟล็กยังอาจทำให้ประสิทธิภาพการสร้างช้าลงด้วย หากเห็นคำเตือนนี้ คุณสามารถเรียกใช้การตรวจสอบภายในเครื่องมือวิเคราะห์บิลด์เพื่อยืนยันว่า นำแฟล็กออกได้หรือไม่

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

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