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