ปลั๊กอิน Android Gradle 8.3.0 (ก.พ. 2024)

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

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

ระดับ API สูงสุดที่พลิแกน Android Gradle 8.3 รองรับคือ API ระดับ 34 ข้อมูลอื่นๆ เกี่ยวกับความเข้ากันได้มีดังนี้

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

ต่อไปนี้คือฟีเจอร์ใหม่ในปลั๊กอิน Android Gradle 8.3

การเผยแพร่แพตช์

ต่อไปนี้เป็นรายการการเผยแพร่แพตช์ใน Android Studio Iguana และปลั๊กอิน Android Gradle 8.3

Android Studio Iguana | 2023.2.1 แพตช์ 2 และ AGP 8.3.2 (เมษายน 2024)

การอัปเดตเล็กน้อยนี้รวมถึงการแก้ไขข้อบกพร่องเหล่านี้

Android Studio Iguana | 2023.2.1 แพตช์ 1 และ AGP 8.3.1 (มีนาคม 2024)

การอัปเดตเล็กน้อยนี้รวมถึงการแก้ไขข้อบกพร่องเหล่านี้

การรองรับแคตตาล็อกเวอร์ชัน Gradle

Android Studio รองรับแคตตาล็อกเวอร์ชัน Gradle ที่ใช้ TOML ซึ่งเป็นฟีเจอร์ที่ช่วยให้คุณจัดการ Dependency ในตำแหน่งส่วนกลางแห่งเดียวและแชร์ Dependency กับโมดูลหรือโปรเจ็กต์ต่างๆ ได้ ตอนนี้ Android Studio ช่วยให้การกำหนดค่าแคตตาล็อกเวอร์ชันผ่านคำแนะนำของเครื่องมือแก้ไขและการผสานรวมกับกล่องโต้ตอบโครงสร้างโปรเจ็กต์ง่ายขึ้น ดูวิธีตั้งค่าและกําหนดค่าแคตตาล็อกเวอร์ชัน Gradle หรือวิธีย้ายข้อมูลบิลด์ไปยังแคตตาล็อกเวอร์ชัน

การเติมโค้ดและการนําทาง

Android Studio เสนอการเติมโค้ดอัตโนมัติเมื่อคุณแก้ไขแคตตาล็อกเวอร์ชันในรูปแบบไฟล์ TOML หรือเพิ่มการพึ่งพาจากแคตตาล็อกเวอร์ชันไปยังไฟล์บิลด์ หากต้องการใช้การเติมโค้ด ให้กด Ctrl+Space (Command+Space ใน macOS) นอกจากนี้ คุณยังไปยังส่วนต่างๆ ได้อย่างรวดเร็วจากข้อมูลอ้างอิงเกี่ยวกับทรัพยากรในไฟล์ build.gradle ของแอปไปยังตำแหน่งที่ประกาศไว้ในแคตตาล็อกเวอร์ชันโดยกด Ctrl+b (Command+b ใน macOS)

การเติมโค้ดเมื่อเพิ่มข้อกําหนด

การผสานรวมกับกล่องโต้ตอบโครงสร้างโปรเจ็กต์

หากโปรเจ็กต์ใช้แคตตาล็อกเวอร์ชันที่กําหนดในรูปแบบไฟล์ TOML คุณจะแก้ไขตัวแปรที่กําหนดไว้ได้ผ่านกล่องโต้ตอบโครงสร้างโปรเจ็กต์ในมุมมองตัวแปร (ไฟล์ > โครงสร้างโปรเจ็กต์ > ตัวแปร) ใน Android Studio แคตตาล็อกเวอร์ชันแต่ละรายการจะมีเมนูแบบเลื่อนลงที่แสดงรายการตัวแปรจากแคตตาล็อกนั้น หากต้องการแก้ไขตัวแปร ให้คลิกค่าของตัวแปรนั้นแล้วเขียนทับ เมื่อคุณบันทึกการเปลี่ยนแปลงเหล่านี้ ไฟล์ TOML จะอัปเดตตาม

ตัวแปรจากแคตตาล็อกเวอร์ชันในกล่องโต้ตอบโครงสร้างโปรเจ็กต์

นอกจากนี้ คุณยังอัปเดต Dependency ในกล่องโต้ตอบโครงสร้างโปรเจ็กต์ในมุมมอง Dependency (ไฟล์ > โครงสร้างโปรเจ็กต์ > Dependency) ได้ด้วย หากต้องการอัปเดตเวอร์ชันโดยใช้กล่องโต้ตอบโครงสร้างโปรเจ็กต์ ให้ไปที่โมดูลและข้อกำหนดที่ต้องการแก้ไข แล้วอัปเดตช่องเวอร์ชันที่ขอ เมื่อบันทึกการเปลี่ยนแปลงเหล่านี้ ระบบจะอัปเดตไฟล์ TOML ให้สอดคล้องกัน โปรดทราบว่าหากมีการกำหนดเวอร์ชันของข้อกำหนดโดยใช้ตัวแปร การอัปเดตเวอร์ชันโดยตรงด้วยวิธีนี้จะแทนที่ตัวแปรด้วยค่าที่กำหนดไว้ล่วงหน้า นอกจากนี้ โปรดทราบว่าการนำข้อกำหนดเบื้องต้นออกจากไฟล์บิลด์ ไม่ว่าคุณจะใช้กล่องโต้ตอบโครงสร้างโปรเจ็กต์หรือไม่ จะไม่นำข้อกำหนดเบื้องต้นออกจากแคตตาล็อกเวอร์ชัน

Dependency จากแคตตาล็อกเวอร์ชันในกล่องโต้ตอบโครงสร้างโปรเจ็กต์

ปัญหาและข้อจำกัดที่ทราบ

ต่อไปนี้เป็นปัญหาหรือข้อจำกัดที่ทราบเกี่ยวกับการรองรับแคตตาล็อกเวอร์ชัน Gradle ใน Android Studio

  • การไฮไลต์ข้อผิดพลาดในการประกาศ Alias ของปลั๊กอินในไฟล์สคริปต์ Kotlin: เมื่อคุณเพิ่มการประกาศปลั๊กอินในรูปแบบ alias(libs.plugins.example) เครื่องมือแก้ไขจะเพิ่มขีดล่างสีแดงใต้ส่วน libs นี่เป็นปัญหาที่ทราบกันใน Gradle เวอร์ชัน 8.0 และต่ำกว่า และจะได้รับการแก้ไขใน Gradle เวอร์ชันในอนาคต

  • Android Studio รองรับเฉพาะแคตตาล็อกเวอร์ชันในรูปแบบ TOML: ปัจจุบันการรองรับการเติมโค้ด การไปยังส่วนต่างๆ และการโต้ตอบโครงสร้างโปรเจ็กต์ของ Android Studio ใช้ได้กับแคตตาล็อกเวอร์ชันที่กําหนดในรูปแบบไฟล์ TOML เท่านั้น อย่างไรก็ตาม คุณยังคงเพิ่มแคตตาล็อกเวอร์ชันในไฟล์ settings.gradle ได้โดยตรงและใช้ทรัพยากรที่เกี่ยวข้องในโปรเจ็กต์

  • ยังไม่รองรับการไปยังคำจำกัดความของข้อกำหนดในแคตตาล็อกเวอร์ชันโดยใช้แป้น Control+คลิก (Command+คลิกใน macOS) สำหรับไฟล์บิลด์ที่เขียนโดยใช้สคริปต์ Kotlin

  • Firebase Assistant จะเพิ่มทรัพยากร Dependency ลงในสคริปต์บิลด์โดยตรง โดยFirebase Assistant จะเพิ่มทรัพยากร Dependency ลงในสคริปต์บิลด์โดยตรงแทนที่จะเพิ่มผ่านแคตตาล็อกเวอร์ชัน

  • ไม่รองรับฟังก์ชันการทำงาน "ค้นหาการใช้งาน": ยังไม่รองรับการค้นหาการใช้งานตัวแปรแคตตาล็อกเวอร์ชันในไฟล์บิลด์อื่นๆ ไม่ว่าไฟล์บิลด์จะเป็น KTS หรือ Groovy กล่าวคือ การใช้ Control+คลิก (Command+คลิกใน macOS) กับคําจํากัดความตัวแปรในแคตตาล็อกเวอร์ชันจะไม่นําไปยังไฟล์บิลด์ที่ใช้ตัวแปรนั้น

  • กล่องโต้ตอบโครงสร้างโปรเจ็กต์ใน Android Studio จะแสดงไฟล์แคตตาล็อกหลายไฟล์หากอยู่ในโฟลเดอร์รูท gradle แต่ไม่แสดงแคตตาล็อกสำหรับบิลด์คอมโพสิต เช่น หากคุณมีไฟล์แคตตาล็อก 2 ไฟล์ ไฟล์หนึ่งสำหรับแอปและอีกไฟล์สำหรับบิลด์คอมโพสิต กล่องโต้ตอบโครงสร้างโปรเจ็กต์จะแสดงเฉพาะไฟล์แคตตาล็อกแอป คุณใช้บิลด์แบบคอมโพสิตได้ แต่ต้องแก้ไขไฟล์ TOML โดยตรง

ข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับ SDK: ปัญหาด้านนโยบาย

Android Studio จะแสดงคำเตือนเกี่ยวกับ Lint ในไฟล์ build.gradle.kts และ build.gradle และในกล่องโต้ตอบโครงสร้างโปรเจ็กต์สำหรับ SDK สาธารณะที่มีการละเมิดนโยบายของ Play ในดัชนี SDK ของ Google Play คุณควรอัปเดตไลบรารีที่ใช้ร่วมกันที่ละเมิดนโยบายของ Play เนื่องจากการละเมิดเหล่านี้อาจทำให้คุณไม่สามารถเผยแพร่ใน Google Play Console ในอนาคต คำเตือนการละเมิดนโยบายจะเสริมคำเตือนเกี่ยวกับเวอร์ชันที่ล้าสมัยที่ Android Studio แสดง

การรองรับเวอร์ชัน compileSdk ของ Android Studio

Android Studio จะแสดงคำเตือนหากโปรเจ็กต์ของคุณใช้ compileSdk ที่ Android Studio เวอร์ชันปัจจุบันไม่รองรับ นอกจากนี้ ระบบยังอาจแนะนำให้เปลี่ยนไปใช้ Android Studio เวอร์ชันที่รองรับ compileSdk ที่โปรเจ็กต์ของคุณใช้อยู่ด้วย (หากมี) โปรดทราบว่าการอัปเกรด Android Studio อาจทำให้คุณต้องอัปเกรด AGP ด้วย นอกจากนี้ AGP จะแสดงคำเตือนในหน้าต่างเครื่องมือสร้างด้วยหาก compileSdk ที่โปรเจ็กต์ใช้ไม่รองรับ AGP เวอร์ชันปัจจุบัน

การเปลี่ยนแปลงลักษณะการทํางานของ Lint

ตั้งแต่ปลั๊กอิน Android Gradle 8.3.0-alpha02 เป็นต้นไป เมื่อเรียกใช้ Lint ในข้อบังคับ จะมีการเรียกใช้งานการวิเคราะห์ Lint แยกกันสำหรับคอมโพเนนต์หลักและคอมโพเนนต์ทดสอบของข้อบังคับ เหตุผลของการเปลี่ยนแปลงนี้คือเพื่อปรับปรุงประสิทธิภาพ หากต้องการเปลี่ยนกลับไปใช้ลักษณะการทำงานแบบเก่า ให้ตั้งค่า android.experimental.lint.analysisPerComponent=false ในไฟล์ gradle.properties

การลดขนาดทรัพยากรอย่างละเอียดเปิดอยู่โดยค่าเริ่มต้น

การลดขนาดทรัพยากรอย่างละเอียดซึ่งจะนำรายการที่ไม่ได้ใช้ออกจากไฟล์ resources.arsc และกำจัดไฟล์ทรัพยากรที่ไม่ได้ใช้จะเปิดอยู่โดยค่าเริ่มต้น เมื่อเปิดใช้การลดขนาดนี้ ตารางทรัพยากรจะลดลงและมีเฉพาะรายการโฟลเดอร์ res ที่อ้างอิงเท่านั้นที่จะรวมอยู่ใน APK

หากต้องการปิดการลดขนาดทรัพยากรอย่างละเอียด ให้ตั้งค่า android.enableNewResourceShrinker.preciseShrinking เป็น false ในไฟล์ gradle.properties ของโปรเจ็กต์

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

ปลั๊กอิน Android Gradle 8.3.0

ปัญหาที่แก้ไขแล้ว
ปลั๊กอิน Android Gradle
แคชการบิลด์ซ้ำซ้อนสำหรับงาน PackageForUnitTest
[AGP 8.1.0] ./gradlew test ดำเนินการไม่สำเร็จพร้อมข้อความ "ไม่พบเอาต์พุตไฟล์ Manifest" หากทั้ง splits.abi.isEnable และ testOptions.unitTests.isIncludeAndroidResources เป็น "จริง"
การสร้างโมเดล AGP ล้มเหลวเมื่อใช้บิลด์คอมโพสิต์ Gradle ที่ฝังอยู่
ตัวลดขนาดทรัพยากรทำให้รหัสทรัพยากรเสียหาย ซึ่งทําให้รันไทม์ขัดข้อง
การตรวจสอบเวอร์ชัน Gradle ขั้นต่ำจะไม่ทำงานในบิลด์ที่ 2 เป็นต้นไป
การดําเนินการสำหรับงาน ":app:mergeReleaseClasses" ไม่สําเร็จหลังจากอัปเดต AGP จาก 8.0.2 เป็น 8.1.0
[Gradle 8.4][upgrade] การทดสอบการผสานรวมล้มเหลวหลังจากการอัปเกรดเนื่องจากมีการใช้ฟีเจอร์ที่เลิกใช้งานแล้วในปลั๊กอิน kotlin gradle
อย่าตรวจสอบว่ามีไฟล์การวางซ้อนไฟล์ Manifest หรือไม่ในระหว่างระยะการกําหนดค่า
ลิงก์ไปยังเอกสาร Gradle เกี่ยวกับข้อผิดพลาด MergeJavaResWorkAction ใช้งานไม่ได้
Gradle 8.1 ทำให้แคชการกําหนดค่าใช้งานไม่ได้เนื่องจาก .gradle/.android/analytics.settings
AGP ไม่ควรใช้ ProjectComponentIdentifier.projectPath โดยไม่ใช้ ProjectComponentIdentifier.build
โปรดลด/นําการบันทึกระดับข้อมูลสําหรับ AGP "Analytics other plugin to proto: ..." ออก
[Gradle 8.4][upgrade] File operation during configuration in ProcessJavaResTask breaks config caching
Variant API เพื่อรับตารางสัญลักษณ์ (R.txt)
ปลั๊กอินสแตนด์อโลนของ lint ไม่จัดการการพึ่งพา gradleApi() อย่างถูกต้อง
kDocs คุณภาพต่ำในคลาส/พร็อพเพอร์ตี้ AGP `VariantOutput.enable` แนะนำให้แทนที่ด้วย `VariantOutput.enable`
AGP 8.3.0-alpha02 ติดตั้งโปรไฟล์รุ่นในโฮสต์ Windows ไม่ได้
บังคับใช้ `android.enableDexingArtifactTransform=true`
[Gradle 8.4][upgrade] การทดสอบการผสานรวมล้มเหลวหลังจากการอัปเกรดเนื่องจากการจัดการไฟล์ในระยะการกำหนดค่า
AGP 8.3.0-alpha-02 - `ข้อผิดพลาด: แปลงข้อมูลรีจิสทรีทรัพยากรที่แคชไว้ไม่สำเร็จ`
[Gradle 8.4][upgrade] การทดสอบการผสานรวมล้มเหลวหลังจากการอัปเกรดเนื่องจากการจัดการไฟล์ในระยะการกำหนดค่าของ TestLabBuildService
AGP 8.1.0 จะถอนการติดตั้งแอปหลังจากทำการทดสอบที่มีเครื่องมือวัด แต่ 7.4.2 จะไม่ถอนการติดตั้ง
การเปลี่ยนรูปแบบ APK ทําให้เกิดข้อผิดพลาดกับ ListingFileRedirectTask
การเปลี่ยนรูปแบบอาร์ติแฟกต์ ASSETS ให้ตำแหน่งอินพุต/เอาต์พุตที่ไม่ถูกต้อง
ตั้งค่า android.experimental.r8.dex-startup-optimization=true เป็นค่าเริ่มต้น
ย้ายข้อมูลไปยัง API การจัดแนวการกำหนดค่า Gradle ใหม่
การคอมไพล์ทรัพยากรไม่สำเร็จเมื่อคอมไพเลอร์ Kotlin พยายามอัปเดตเป็น IDEA 21.3
get() แบบรีแอ็กทีฟที่มี API รายการต่างๆ
เลื่อนระดับพร็อพเพอร์ตี้ AGP ของ "android.lint.printStackTrace" เป็นเวอร์ชันเสถียร
AGP 8.1.0: ฟีเจอร์แบบไดนามิก: Dependency ที่ไม่ชัดระหว่าง exportReleaseConsumerProguardFiles กับ extractProguardFiles ทําให้เกิดความผิดพลาดในการคอมไพล์
`variant.unitTest.jniLibs.addGeneratedSourceDirectory` ดูเหมือนจะไม่ทําอะไรเลย
อัปเดตโปรแกรมแยกวิเคราะห์ XML ที่ใช้ใน AGP เพื่อให้ใช้งานร่วมกับ Gradle 8.4 ได้
เครื่องมือ JaCoCo ของแพ็กเกจรุ่น AGP 8.0.1 ไม่มีผล
HEDGEHOG REGRESSION: ปุ่มเรียกใช้ทำงานล่าช้า 2-3 วินาที (การสร้างข้อมูลจำเพาะ)
AGP 8.3.0-alpha11 สร้าง APK รุ่นที่ขัดข้องเมื่อเริ่มต้นด้วย android.content.res.Resources$NotFoundException
เลื่อนระดับพร็อพเพอร์ตี้ AGP ของ "android.lint.printStackTrace" เป็นเวอร์ชันเสถียร
คำขอฟีเจอร์: โปรโมต com.android.build.api.extension.impl.CURRENT_AGP_VERSION เป็น API สาธารณะ
SDK Manager ควรหยุดสแปมข้อมูลบันทึกไปยัง stdout
DexArchiveBuilderTaskDelegate ไม่สำเร็จด้วยโมดูลไลบรารีที่มีเฉพาะทรัพยากร
ตัวแปรปลั๊กอินที่กำหนดเอง AGP7.4 toTransform สำหรับรายการทั้งหมดที่ซ้ำกัน: ข้อยกเว้น META-INF/MANIFEST.MF
รองรับแท็ก Manifest ใหม่
ลิงก์สําหรับ "โปรเจ็กต์ที่แยกออก" ในการตั้งค่า Studio นำไปยังที่ที่ไม่ถูกต้อง
โปรดระบุตัวเลือกเพื่อรวมแหล่งที่มาที่สร้างขึ้นไว้ใน Javadoc และ SourceJar
ต้องการการแก้ไขด่วนสำหรับความคลาดเคลื่อนระหว่าง compileSdk กับ Dependency ที่มี minCompileSdkVersion
[Gradle] tools:overrideLibrary ควรรองรับเครื่องหมายดอกจัน (*)
UI ค้างเมื่อแก้ไขไฟล์ Manifest
ตั้งค่า JaCoCo เวอร์ชันใน AGP 8.2.0 ไม่ได้
งานติดตั้งปลั๊กอิน Android Gradle 8.2.0 ในโปรเจ็กต์ที่ใช้ฟีเจอร์แบบไดนามิกไม่สำเร็จ
งานติดตั้งปลั๊กอิน Android Gradle 8.2.0 ในโปรเจ็กต์ที่ใช้ฟีเจอร์แบบไดนามิกไม่สำเร็จ
Dexer (D8)
[desugared library] ไลบรารี Desugared เวอร์ชัน 2.1 ใช้ร่วมกับ R8 เวอร์ชันก่อนหน้าไม่ได้
การเพิ่มประสิทธิภาพทํางานแม้ใช้เพียง D8 หรือไม่
Lint
[Lint] TranslucentViewDetector ขัดข้องในฟังก์ชัน filterIncident และทําให้ Lint แสดงผลลัพธ์ที่ไม่ถูกต้อง
TranslucentViewDetector ควรยอมรับค่า "behind"
Android Lint ดำเนินการในไลบรารี KMP ไม่สำเร็จเนื่องจาก "พร็อพเพอร์ตี้ "variantInputs.name" ไม่มีค่าที่กำหนดค่าไว้"
TranslucentViewDetector รายงานบรรทัดที่ไม่ถูกต้องในไฟล์ Manifest
lintDebug รายงานคำเตือน UseTomlInstead อย่างไม่ถูกต้องเมื่อใช้ทรัพยากรของโปรเจ็กต์
ปัญหาที่ไม่คาดคิดจากโปรเจ็กต์อื่นที่ Android Lint แจ้งว่าไม่ถูกต้อง
การตรวจหาผลบวกลวงของทรัพยากรที่ไม่ได้ใช้ในการตรวจสอบ LINT ภายในการเชื่อมโยงและตัวรับฟังการคลิก
โหลดไฟล์ jar การตรวจสอบ Lint ที่กําหนดเองไม่ได้: แคสต์ Node เป็น TreeNode ไม่ได้
Lint ไม่ได้เรียก visitAnnotationUsage สำหรับการใช้คลาสที่มีคำอธิบายประกอบในการประกาศตัวแปร
Lint 31.0.2 ดำเนินการไม่สำเร็จด้วยข้อยกเว้น java.util.NoSuchElementException: อาร์เรย์ว่าง
ไม่มีคำเตือน Lint เกี่ยวกับ kotlin.text.MatchNamedGroupCollection#get(String) ที่ต้องใช้ API ระดับ 26
lint:TypographyQuotes false negatives: more than one escaped apostrophe are ignored
AGP 8.0.2 lint InvalidId detector false positive
เพิ่มปัญหา LintError ลงในเส้นฐานของ Lint
การแก้ไขด่วนของ Lint ไม่ทำงานและส่งผลให้เกิดข้อผิดพลาด IDE
การทดสอบไม่สอดคล้องกันเนื่องจากการวิเคราะห์บางส่วน
ไฮไลต์คำเตือนที่ไม่ถูกต้องซึ่งเป็นผลบวกเท็จ
Lint ไม่ได้เรียก visitAnnotationUsage สำหรับการใช้คลาสที่มีคำอธิบายประกอบในการประกาศตัวแปร
เครื่องมือประมวลผลทรัพยากรที่ไม่ได้ใช้อาจลบไฟล์บิลด์ Gradle
การตรวจสอบ Lint ของ NewApi ไม่เข้าใจช่องสุดท้าย "isAtleastU() && otherCondition()"
StackOverflow จาก `LintClient.getSdkHome`
Android Studio / Lint จะไม่แจ้งให้คุณทราบเมื่อ dependencies "แพลตฟอร์ม" ไม่ทันสมัย
ข้อบกพร่อง: ไม่มีคำแนะนำให้อัปเดตการพึ่งพา Firebase-bom
โครงสร้างโปรเจ็กต์ (และ Gradle (?)) ไม่พบทรัพยากร Dependency ของ BOM ของ Firebase เพื่ออัปเกรดเป็นเวอร์ชันใหม่
การผสานรวม Lint
ข้อผิดพลาด DuplicatePlatformClasses จาก Dependency testImplementation
Shrinker (R8)
R8 ไม่ทํางานหลังจากอัปเกรดจาก AGP 8.0.2 เป็น 8.1.0
isShrinkResources เพิ่มประสิทธิภาพมากเกินไปใน 8.3.0-alpha11 ถึง alpha14
R8 Flurry SDK ขัดข้องกับ AGP 8.2.0
Android - R8 ทําให้คลาสย่อยของ LinearLayoutManager ขัดข้อง
R8 v8.2.33, "java.lang.VerifyError: Bad type on operand stack" รันไทม์ขัดข้องหลังจากอัปเกรด
[R8 8.3.21] R8 8.3.21 มีขนาดใหญ่กว่า R8 8.1.56 1.57 MB
[R8 8.3.21] R8 8.3.21 มีขนาดใหญ่กว่า R8 8.1.56 1.57 MB
class.getInterfaces() แสดงผลว่างเปล่า
Test SimpleKotlinEnumUnboxingTest ดำเนินการไม่สำเร็จในบ็อต kotlin_dev

ปลั๊กอิน Android Gradle 8.3.1

ปัญหาที่แก้ไขแล้ว
ปลั๊กอิน Android Gradle
ปัญหาการจัดการอินพุตที่เพิ่มขึ้นของ MergeJavaResourcesTask
การผสานรวม Lint
Lint ไม่สามารถแก้ไขประเภทของชุดแหล่งที่มาแบบพี่น้องใน AGP 8.3.0-rc02

ปลั๊กอิน Android Gradle 8.3.2

ปัญหาที่แก้ไขแล้ว
ปลั๊กอิน Android Gradle
AGP 8.3 ที่เปิดใช้การกรองน้ำตาลออกอาจเกิดปัญหาการล็อก
AGP 8.3 ทำลาย zipApksFor Task
การผสานรวม Lint
Lint แยกความกำกวมเกี่ยวกับข้อกําหนดของ KMP ไม่ได้