ปลั๊กอิน Android Gradle 9.3.0 (กรกฎาคม 2026)

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

ความเข้ากันได้

API ระดับสูงสุดที่ปลั๊กอิน Android Gradle 9.3 รองรับคือ API ระดับ 37 ข้อมูลอื่นๆ เกี่ยวกับความเข้ากันได้มีดังนี้

เวอร์ชันขั้นต่ำ เวอร์ชันเริ่มต้น หมายเหตุ
Gradle 9.5.0 9.5.0 ดูข้อมูลเพิ่มเติมได้ที่การอัปเดต Gradle
เครื่องมือสร้าง SDK 36.0.0 36.0.0 ติดตั้งหรือกำหนดค่าเครื่องมือสร้าง SDK
NDK ไม่มี 28.2.13676358 ติดตั้งหรือกำหนดค่า NDK เวอร์ชันอื่น
JDK 17 17 ดูข้อมูลเพิ่มเติมได้ที่การตั้งค่าเวอร์ชัน JDK

งาน Gradle ของเครื่องมือวิเคราะห์การกำหนดค่า R8 แบบสแตนด์อโลน

ปลั๊กอิน Android Gradle 9.3 เปิดตัว Gradle Task เฉพาะสำหรับการเรียกใช้เครื่องมือวิเคราะห์การกำหนดค่า R8แบบแยก เครื่องมือวิเคราะห์การกำหนดค่า R8 ช่วยให้คุณเพิ่มประสิทธิภาพกฎการลดขนาดโค้ดและการปกปิดโค้ดของแอปได้

./gradlew :app:analyzeReleaseR8Config

:app:analyzeReleaseR8Config งานจะสร้างรายงานโดยไม่ต้องดำเนินการ ไปป์ไลน์การคอมไพล์ APK หรือ Bundle ให้เสร็จสมบูรณ์ ซึ่งจะช่วยให้วงจรความคิดเห็นสั้นลง ซึ่งจะช่วยเร่งการทำซ้ำของนักพัฒนาแอปเมื่อปรับแต่งกฎการเก็บรักษา หรือคุณจะสร้างรายงานโดยอัตโนมัติได้โดยการเรียกใช้บิลด์ที่เผยแพร่รุ่น R8 (เช่น assembleRelease หรือ bundleRelease)

ดูข้อมูลเพิ่มเติมได้ที่เรียกใช้ Gradle Task แบบสแตนด์อโลนเพื่อสร้างรายงาน

ปัญหาที่แก้ไขแล้ว

ปลั๊กอิน Android Gradle 9.3.3

ปัญหาที่แก้ไขแล้ว
ปลั๊กอิน Android Gradle
DSL การเพิ่มประสิทธิภาพใหม่ของ AGP 9.3.0 { enable = true } ไม่ได้ตั้งค่า isMinifyEnabled ในออบเจ็กต์ ApplicationVariant
Dexer (D8)
D8 9.2.14 ช้ากว่า 8.13.6 ประมาณ 38% ใน `mergeProjectDexDebug` เมื่อใช้ข้อมูลเข้า/ออกที่เหมือนกัน
Shrinker (R8)
โหมดแก้ไขข้อบกพร่อง D8: ArrayIndexOutOfBoundsException: ดัชนี -1 อยู่นอกขอบเขตสำหรับความยาว 31 - การถดถอยระหว่าง R8 8.8.34 กับ 8.9.27
VerifyError: Outliner ขยายภูมิภาค try-catch ไม่ถูกต้อง ทำให้เกิดรีจิสเตอร์ที่ไม่ได้เริ่มต้น
R8 เขียนไฟล์ `.kotlin_module` โดยมี `:` ในชื่อ ซึ่งทำให้ชื่อไฟล์ไม่ถูกต้องใน Windows
การบิลด์ R8 ที่ไม่แน่นอน: อินพุตที่เหมือนกันจะสร้าง dex/mapping ที่แตกต่างกัน (การถดถอยจาก "คงคำสั่ง Assume ไว้ใน LIR")
ทำซ้ำการจับคู่ด้วย R8 9.1
AGP สร้างไฟล์ DEX เป็นระยะๆ ซึ่งไม่ผ่านการยืนยันและทำให้แอปขัดข้องเมื่อเปิด
NullPointerException: เรียกใช้ Position.getOutermostCaller() ไม่ได้เนื่องจาก entryPosition เป็น Null
การใช้หน่วยความจำต่อกฎสูง
R8: VerifyError ใน Android 4.4

ปลั๊กอิน Android Gradle 9.3.2

ปัญหาที่แก้ไขแล้ว
เครื่องมือวิเคราะห์ซอร์สโค้ด
เครื่องมือวิเคราะห์ซอร์สโค้ดของ AGP 9.3 ขัดข้องใน JDK 17 — NoSuchMethodError: java.util.List.removeLast() ใน JavaDocParser ของ intellij-core ที่รวมไว้

ปลั๊กอิน Android Gradle 9.3.1

ปัญหาที่แก้ไขแล้ว
ไม่มีปัญหาที่เปิดเผยต่อสาธารณะที่ได้รับการทำเครื่องหมายว่าแก้ไขแล้วใน AGP 9.3.1

ปลั๊กอิน Android Gradle 9.3.0-rc02

ปัญหาที่แก้ไขแล้ว
ไม่มีปัญหาที่เปิดเผยต่อสาธารณะที่ได้รับการทำเครื่องหมายว่าแก้ไขแล้วใน AGP 9.3.0-rc02

ปลั๊กอิน Android Gradle 9.3.0-rc01

ปัญหาที่แก้ไขแล้ว
ไม่มีปัญหาที่เปิดเผยต่อสาธารณะที่ทำเครื่องหมายว่าแก้ไขแล้วใน AGP 9.3.0-rc01

ปลั๊กอิน Android Gradle 9.3.0-alpha12

ปัญหาที่แก้ไขแล้ว
ปลั๊กอิน Android Gradle
การสร้างล้มเหลว: การรั่วไหลของแฮนเดิลไฟล์ใน classes.jar ใน compile_library_classes_jar ทำให้สร้างใหม่ใน Windows ไม่ได้จนกว่าจะรีสตาร์ท IDE
เครื่องมือวิเคราะห์ซอร์สโค้ด
Lint ถือว่าไลบรารี Java ที่นำเข้าเป็นโปรเจ็กต์ Android โดยไม่สนใจเวอร์ชัน SDK ที่คอมไพล์

ปลั๊กอิน Android Gradle 9.3.0-alpha11

ปัญหาที่แก้ไขแล้ว
ไม่มีปัญหาที่เปิดเผยต่อสาธารณะที่ได้รับการแก้ไขใน AGP 9.3.0-alpha11

ปลั๊กอิน Android Gradle 9.3.0-alpha10

ปัญหาที่แก้ไขแล้ว
ไม่มีปัญหาที่เปิดเผยต่อสาธารณะที่ได้รับการแก้ไขใน AGP 9.3.0-alpha10

ปลั๊กอิน Android Gradle 9.3.0-alpha09

ปัญหาที่แก้ไขแล้ว
ไม่มีปัญหาที่เปิดเผยต่อสาธารณะที่ได้รับการแก้ไขใน AGP 9.3.0-alpha09

ปลั๊กอิน Android Gradle 9.3.0-alpha08

ปัญหาที่แก้ไขแล้ว
ไม่มีปัญหาที่เปิดเผยต่อสาธารณะที่ได้รับการทำเครื่องหมายว่าแก้ไขแล้วใน AGP 9.3.0-alpha08

ปลั๊กอิน Android Gradle 9.3.0-alpha07

ปัญหาที่แก้ไขแล้ว
ไม่มีปัญหาที่เปิดเผยต่อสาธารณะที่ได้รับการทำเครื่องหมายว่าแก้ไขแล้วใน AGP 9.3.0-alpha07

ปลั๊กอิน Android Gradle 9.3.0-alpha06

ปัญหาที่แก้ไขแล้ว
ปลั๊กอิน Android Gradle
JavaDocGenerationTask ควรใช้ Worker

ปลั๊กอิน Android Gradle 9.3.0-alpha05

ปัญหาที่แก้ไขแล้ว
Shrinker (R8)
การแมปการปกปิด L8 ไม่ได้รวมอยู่ในการแมปแอปใน app mapping.txt

ปลั๊กอิน Android Gradle 9.3.0-alpha04

ปัญหาที่แก้ไขแล้ว
ปลั๊กอิน Android Gradle
ระบบจะไม่สนใจชุดซอร์สของ KMP keepRules หากไม่มี it.consumerKeepRules.publish = true

ปลั๊กอิน Android Gradle 9.3.0-alpha03

ปัญหาที่แก้ไขแล้ว
ปลั๊กอิน Android Gradle
java.lang.ClassNotFoundException: ไม่พบคลาส "com.android.tools.r8.RecordTag" หลังจากอัปเกรด Gradle เป็น 9.2.0
เครื่องมือวิเคราะห์ซอร์สโค้ด
ข้อผิดพลาดของ Lint เมื่อปิดใช้การลดขนาดทรัพยากร

ปลั๊กอิน Android Gradle 9.3.0-alpha02

ปัญหาที่แก้ไขแล้ว
ปลั๊กอิน Android Gradle
คำขอฟีเจอร์: เพิ่มการรองรับ native_libs_merge_blame_file ลงในปลั๊กอิน Android Gradle
เครื่องมือวิเคราะห์ซอร์สโค้ด
ไม่มีเครื่องหมายแบ็กทิกในข้อความปัญหา AnnotationDetector
ข้อผิดพลาดของ Lint เมื่อปิดใช้การลดขนาดทรัพยากร

ปลั๊กอิน Android Gradle 9.3.0-alpha01

ปัญหาที่แก้ไขแล้ว
ปลั๊กอิน Android Gradle
ปัญหาเกี่ยวกับรหัสเวอร์ชันที่สร้างขึ้นโดยอัตโนมัติ
AGP: ย้ายข้อมูลออกจากโปรเจ็กต์เป็นรูปแบบการอ้างอิง
เครื่องมือวิเคราะห์ซอร์สโค้ด
ผลบวกลวงของ Lint ที่มี UseKtx

ปลั๊กอิน Android Gradle 9.3.0

ปัญหาที่แก้ไขแล้ว
ไม่มีปัญหาที่เปิดเผยต่อสาธารณะที่ได้รับการแก้ไขใน AGP 9.3.0

อัปเดต DSL การเพิ่มประสิทธิภาพเพื่อกำหนดค่ากฎการเก็บรักษา R8

เปิดตัว DSL การเพิ่มประสิทธิภาพที่อัปเดตแล้วเพื่อกำหนดค่ากฎการเก็บสำหรับ การเพิ่มประสิทธิภาพ R8 ซึ่งรองรับโดยโมดูลแอปและการทดสอบโมดูลไลบรารี หากต้องการกำหนดค่า การเพิ่มประสิทธิภาพด้วย DSL ที่อัปเดต ให้ใช้บล็อก optimization ใหม่ สำหรับแอป ให้กำหนดค่าoptimizationภายในประเภทบิลด์ (เช่น release หรือ debug) ในสคริปต์บิลด์ระดับแอป DSL การเพิ่มประสิทธิภาพที่อัปเดตแล้วทำให้การกำหนดค่า R8 ง่ายขึ้น

  • การเปิดการเพิ่มประสิทธิภาพจะช่วยให้ทั้งการเพิ่มประสิทธิภาพโค้ดและการลดขนาดทรัพยากรที่เพิ่มประสิทธิภาพทำงานได้
  • คุณไม่จำเป็นต้องระบุไฟล์กฎการเก็บรักษา Android เริ่มต้นอีกต่อไป

โปรดทราบว่าเรายังคงรองรับ DSL เดิม

การเปิดตัวชุดแหล่งข้อมูลเพื่อกำหนดกฎการเก็บรักษา

วางกฎการเก็บรักษาในsrc/<variant>/keepRules/ชุดซอร์สที่มี คำต่อท้ายของไฟล์ .keep ชุดแหล่งข้อมูลสำหรับกฎการเก็บรักษาได้รับการรองรับโดย DSL การเพิ่มประสิทธิภาพที่อัปเดตแล้วและ DSL เดิม การใช้ชุดแหล่งที่มาสำหรับกฎการเก็บรักษาจะใช้ได้ในโมดูลแอป โมดูลไลบรารี และเป็นวิธีในการกำหนดกฎสำหรับผู้ใช้ในโมดูล Kotlin Multiplatform (KMP)