ปลั๊กอิน 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) นอกจากนี้ คุณสามารถไปยังส่วนต่างๆ ได้อย่างรวดเร็วจาก การอ้างอิงทรัพยากร Dependencyในไฟล์ build.gradle ของแอปไปยังตำแหน่งที่มีการประกาศ ในแคตตาล็อกเวอร์ชันได้โดยกด Ctrl+b (Command+b ใน macOS)

การเติมโค้ดอัตโนมัติเมื่อเพิ่มทรัพยากร Dependency

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

การเปลี่ยนแปลงลักษณะการทำงานของเครื่องมือวิเคราะห์ซอร์สโค้ด

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

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

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

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

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

ปลั๊กอิน Android Gradle 8.3.2

ปัญหาที่แก้ไขแล้ว
ปลั๊กอิน Android Gradle
AGP 8.3 ที่เปิดใช้กระบวนการ Desugaring อาจทำให้เกิดการติดตาย
AGP 8.3 ทำให้งาน zipApksFor ทำงานไม่ได้
การผสานรวมเครื่องมือวิเคราะห์ซอร์สโค้ด
เครื่องมือวิเคราะห์ซอร์สโค้ดไม่สามารถแยกความกำกวมของทรัพยากร Dependency ของ KMP

ปลั๊กอิน Android Gradle 8.3.1

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

ปลั๊กอิน Android Gradle 8.3.0

ปัญหาที่แก้ไขแล้ว
ปลั๊กอิน Android Gradle
แคชบิลด์ซ้ำสำหรับงาน PackageForUnitTest
[AGP 8.1.0] การทดสอบ ./gradlew ล้มเหลวโดยมีข้อความ "Unable to find manifest output" หากทั้ง splits.abi.isEnable และ testOptions.unitTests.isIncludeAndroidResources เป็นจริง
การสร้างโมเดล AGP ล้มเหลวจากบิลด์คอมโพสิตของ Gradle ที่ซ้อนกัน
ตัวลดขนาดทรัพยากรจะทำให้รหัสทรัพยากรเสียหาย ซึ่งนำไปสู่การขัดข้องขณะรันไทม์
การตรวจสอบเวอร์ชัน Gradle ขั้นต่ำจะไม่ทำงานในบิลด์ที่ 2 เป็นต้นไป
การดำเนินการสำหรับงาน ":app:mergeReleaseClasses" ล้มเหลวหลังจากอัปเดต AGP จาก 8.0.2 เป็น 8.1.0
[Gradle 8.4][อัปเกรด] การทดสอบการผสานรวมล้มเหลวหลังการอัปเกรดเนื่องจากการใช้ฟีเจอร์ที่เลิกใช้งานแล้วในปลั๊กอิน 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][อัปเกรด] การดำเนินการกับไฟล์ในระหว่างการกำหนดค่าใน ProcessJavaResTask ทำให้การแคชการกำหนดค่าใช้งานไม่ได้
API ของ Variant เพื่อรับตารางสัญลักษณ์ (R.txt)
ปลั๊กอินแบบสแตนด์อโลนของเครื่องมือวิเคราะห์ซอร์สโค้ดจัดการทรัพยากร Dependency ของ gradleApi() ไม่ถูกต้อง
kDocs ไม่ดีในคลาส/พร็อพเพอร์ตี้ AGP `VariantOutput.enable` แนะนำให้แทนที่ด้วย `VariantOutput.enable`
AGP 8.3.0-alpha02 ติดตั้งโปรไฟล์การเผยแพร่ในโฮสต์ Windows ไม่ได้
บังคับใช้ `android.enableDexingArtifactTransform=true`
[Gradle 8.4][อัปเกรด] การทดสอบการผสานรวมล้มเหลวหลังการอัปเกรดเนื่องจากการจัดการไฟล์ในระยะการกำหนดค่า
AGP 8.3.0-alpha-02 - `Error: Failed to deserialize cached resource repository.`
[Gradle 8.4][อัปเกรด] การทดสอบการผสานรวมล้มเหลวหลังการอัปเกรดเนื่องจากการจัดการไฟล์ในระยะการกำหนดค่าของ TestLabBuildService
AGP 8.1.0 ถอนการติดตั้งแอปหลังจากเรียกใช้การทดสอบการวัดคุม - 7.4.2 ไม่ถอนการติดตั้ง
การแปลง APK ทำให้เกิดข้อผิดพลาดกับ ListingFileRedirectTask
การแปลงอาร์ติแฟกต์ของ ASSETS ทำให้ตำแหน่งอินพุต/เอาต์พุตใช้งานไม่ได้
เลื่อนขั้น android.experimental.r8.dex-startup-optimization=true ให้เป็นค่าเริ่มต้น
ย้ายข้อมูลไปยัง API การจัดแนวการกำหนดค่า Gradle ใหม่
การคอมไพล์ทรัพยากรล้มเหลวเมื่อคอมไพเลอร์ Kotlin พยายามอัปเดตเป็น IDEA 21.3
Reactive get() ด้วย Artifacts API
เปลี่ยนไปใช้พร็อพเพอร์ตี้ AGP "android.lint.printStackTrace" เพื่อความเสถียร
AGP 8.1.0: ฟีเจอร์แบบไดนามิก: การอ้างอิงโดยนัยระหว่าง 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 ที่จะแปลงสำหรับรายการที่ซ้ำกันทั้งหมด: ข้อยกเว้น META-INF/MANIFEST.MF
รองรับแท็ก Manifest ใหม่
ลิงก์สำหรับ "โปรเจ็กต์ที่แยกออกจากกัน" ในการตั้งค่า Studio จะนำไปยังตำแหน่งที่ไม่ถูกต้อง
โปรดระบุตัวเลือกเพื่อรวมแหล่งที่มาที่สร้างขึ้นใน Javadoc และ SourceJar
ต้องการแก้ไขด่วนสำหรับความคลาดเคลื่อนระหว่าง compileSdk กับทรัพยากร Dependency ที่มี minCompileSdkVersion
เครื่องมือ [Gradle]:overrideLibrary ควรรองรับเครื่องหมายดอกจัน (*)
UI ค้างเมื่อแก้ไขไฟล์ Manifest
ตั้งค่าเวอร์ชัน JaCoCo ใน AGP 8.2.0 ไม่ได้
งานติดตั้งปลั๊กอิน Android Gradle 8.2.0 ล้มเหลวในโปรเจ็กต์ที่ใช้ฟีเจอร์แบบไดนามิก
งานติดตั้งปลั๊กอิน Android Gradle 8.2.0 ล้มเหลวในโปรเจ็กต์ที่ใช้ฟีเจอร์แบบไดนามิก
Dexer (D8)
[ไลบรารีที่ทำกระบวนการ Desugaring แล้ว] ไลบรารีที่ทำกระบวนการ Desugaring แล้วเวอร์ชัน 2.1 ใช้กับ R8 เวอร์ชันก่อนหน้าไม่ได้
การเพิ่มประสิทธิภาพจะทํางานแม้จะใช้เพียง D8 ใช่ไหม
เครื่องมือวิเคราะห์ซอร์สโค้ด
[เครื่องมือวิเคราะห์ซอร์สโค้ด] TranslucentViewDetector ขัดข้องในฟังก์ชัน filterIncident และทำให้เครื่องมือวิเคราะห์ซอร์สโค้ดสร้างผลลัพธ์ที่ไม่ถูกต้อง
TranslucentViewDetector ควรยอมรับค่า "behind"
เครื่องมือวิเคราะห์ซอร์สโค้ด Android ล้มเหลวในไลบรารี KMP พร้อมข้อความ `property 'variantInputs.name' doesn't have a configured value.`
รายงาน TranslucentViewDetector แสดงบรรทัดที่ไม่ถูกต้องในไฟล์ Manifest
lintDebug รายงานคำเตือน UseTomlInstead อย่างไม่ถูกต้องเมื่อใช้ทรัพยากร Dependency ของโปรเจ็กต์
ปัญหาที่ไม่คาดคิดจากโปรเจ็กต์อื่นที่เครื่องมือวิเคราะห์ซอร์สโค้ดของ Android แจ้ง
การตรวจหาผลบวกลวงของทรัพยากรที่ไม่ได้ใช้ในตัว Listener ของการเชื่อมโยงและคลิก
โหลดไฟล์ JAR การตรวจสอบที่กำหนดเองของเครื่องมือวิเคราะห์ซอร์สโค้ดไม่ได้: Node ไม่สามารถส่งไปยัง TreeNode ได้
ไม่ได้เรียกใช้ visitAnnotationUsage ของเครื่องมือวิเคราะห์ซอร์สโค้ดสำหรับการใช้งานคลาสที่มีคำอธิบายประกอบในการประกาศตัวแปร
เครื่องมือวิเคราะห์ซอร์สโค้ด 31.0.2 ล้มเหลวพร้อมข้อความ java.util.NoSuchElementException: Array is empty
ไม่มีคำเตือนของเครื่องมือวิเคราะห์ซอร์สโค้ดเกี่ยวกับ kotlin.text.MatchNamedGroupCollection#get(String) ที่ต้องใช้ API 26
เครื่องมือวิเคราะห์ซอร์สโค้ด:TypographyQuotes แสดงผลลบลวง: more than one escaped apostrophe are ignored
เครื่องมือวิเคราะห์ซอร์สโค้ด AGP 8.0.2 แสดงผลบวกลวงของเครื่องมือตรวจหา InvalidId
เพิ่มปัญหา LintError ลงในค่าพื้นฐานของเครื่องมือวิเคราะห์ซอร์สโค้ด
เครื่องมือวิเคราะห์ซอร์สโค้ด Quickfix ใช้งานไม่ได้และทำให้เกิดข้อผิดพลาดใน IDE
การทดสอบล้มเหลวอย่างไม่สอดคล้องกันเนื่องจากการวิเคราะห์บางส่วน
การไฮไลต์คำเตือนที่ไม่ถูกต้องซึ่งเป็นผลบวกลวง
ไม่ได้เรียกใช้ visitAnnotationUsage ของเครื่องมือวิเคราะห์ซอร์สโค้ดสำหรับการใช้งานคลาสที่มีคำอธิบายประกอบในการประกาศตัวแปร
โปรแกรมประมวลผลทรัพยากรที่ไม่ได้ใช้อาจลบไฟล์บิลด์ Gradle
การตรวจสอบเครื่องมือวิเคราะห์ซอร์สโค้ดของ NewApi ไม่เข้าใจฟิลด์สุดท้าย "isAtleastU() && otherCondition()"
StackOverflow จาก `LintClient.getSdkHome`
Android Studio / เครื่องมือวิเคราะห์ซอร์สโค้ด ไม่แจ้งให้ทราบเมื่อทรัพยากร Dependency ของ "แพลตฟอร์ม" ล้าสมัย
ข้อบกพร่อง: ไม่มีคำแนะนำให้อัปเดตทรัพยากร Dependency ของ Firebase-bom
โครงสร้างโปรเจ็กต์ (และ Gradle (?)) ไม่พบการอัปเกรดทรัพยากร Dependency ของ Firebase BOM เป็นเวอร์ชันใหม่กว่า
การผสานรวมเครื่องมือวิเคราะห์ซอร์สโค้ด
ข้อผิดพลาดของเครื่องมือวิเคราะห์ซอร์สโค้ด 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() แสดงผลเป็นค่าว่าง
การทดสอบ SimpleKotlinEnumUnboxingTest ล้มเหลวในบ็อต kotlin_dev