ปลั๊กอิน 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)

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

นอกจากนี้ คุณยังอัปเดตทรัพยากร Dependency ในมุมมองทรัพยากร Dependency ของกล่องโต้ตอบโครงสร้างโปรเจ็กต์ (File > Project Structure > Dependencies) ได้ด้วย หากต้องการอัปเดตเวอร์ชันโดยใช้กล่องโต้ตอบโครงสร้างโปรเจ็กต์ ให้ไปที่โมดูลและทรัพยากร Dependency ที่ต้องการแก้ไข แล้วอัปเดตช่องเวอร์ชันที่ขอ เมื่อคุณบันทึกการเปลี่ยนแปลงเหล่านี้ ระบบจะอัปเดตไฟล์ TOML ตามนั้น โปรดทราบว่าหากกำหนดเวอร์ชันของทรัพยากร 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 |
|
||
| การผสานรวมเครื่องมือวิเคราะห์ซอร์สโค้ด |
|
||
ปลั๊กอิน Android Gradle 8.3.1
| ปัญหาที่แก้ไขแล้ว | ||
|---|---|---|
| ปลั๊กอิน Android Gradle |
|
|
| การผสานรวมเครื่องมือวิเคราะห์ซอร์สโค้ด |
|
|
ปลั๊กอิน Android Gradle 8.3.0
| ปัญหาที่แก้ไขแล้ว | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ปลั๊กอิน Android Gradle |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Dexer (D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| เครื่องมือวิเคราะห์ซอร์สโค้ด |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| การผสานรวมเครื่องมือวิเคราะห์ซอร์สโค้ด |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Shrinker (R8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||