ปลั๊กอิน 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 ตามนั้น
นอกจากนี้ คุณยังอัปเดตการอ้างอิงในกล่องโต้ตอบโครงสร้างโปรเจ็กต์ มุมมองการอ้างอิง (ไฟล์ > โครงสร้างโปรเจ็กต์ > การอ้างอิง) ได้ด้วย หากต้องการอัปเดต เวอร์ชันโดยใช้กล่องโต้ตอบโครงสร้างโปรเจ็กต์ ให้ไปที่โมดูลและ การขึ้นต่อกันที่ต้องการแก้ไข แล้วอัปเดตช่องเวอร์ชันที่ขอ เมื่อคุณบันทึกการเปลี่ยนแปลงเหล่านี้ ระบบจะอัปเดตไฟล์ TOML ตามนั้น โปรดทราบว่าหากกำหนดเวอร์ชันของ Dependency โดยใช้ตัวแปร การอัปเดตเวอร์ชันโดยตรงด้วยวิธีนี้จะแทนที่ตัวแปรด้วยค่าที่ฮาร์ดโค้ด โปรดทราบว่าการนำการอ้างอิงออกจากไฟล์บิลด์ ไม่ว่าคุณจะใช้กล่องโต้ตอบโครงสร้างโปรเจ็กต์หรือไม่ก็ตาม จะไม่นำการอ้างอิงออกจากแคตตาล็อกเวอร์ชัน
ปัญหาและข้อจำกัดที่ทราบ
ต่อไปนี้คือปัญหาหรือข้อจำกัดที่ทราบเกี่ยวกับการรองรับแคตตาล็อกเวอร์ชัน Gradle ใน Android Studio
ข้อผิดพลาดในการไฮไลต์การประกาศนามแฝงของปลั๊กอินในไฟล์สคริปต์ Kotlin: เมื่อคุณ เพิ่มการประกาศปลั๊กอินในรูปแบบ
alias(libs.plugins.example)
ตัวแก้ไข จะเพิ่มขีดสีแดงใต้ส่วนlibs
นี่เป็นปัญหาที่ทราบแล้วใน Gradle เวอร์ชัน 8.0 และต่ำกว่า และจะได้รับการแก้ไขใน Gradle รุ่นต่อๆ ไปการรองรับ Android Studio สำหรับแคตตาล็อกเวอร์ชันในรูปแบบ TOML เท่านั้น: ปัจจุบัน การเติมโค้ด การนำทาง และกล่องโต้ตอบโครงสร้างของโปรเจ็กต์ใน Android Studio รองรับเฉพาะแคตตาล็อกเวอร์ชันที่กำหนดในไฟล์ TOML เท่านั้น อย่างไรก็ตาม คุณยังคงเพิ่มแคตตาล็อกเวอร์ชันได้โดยตรงในไฟล์
settings.gradle
และใช้การอ้างอิงในโปรเจ็กต์ได้การไปยังส่วนต่างๆ สำหรับไฟล์บิลด์ KTS ไม่รองรับ: ระบบยังไม่รองรับการไปยังคำจำกัดความการขึ้นต่อกันในแคตตาล็อกเวอร์ชันโดยใช้ 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 ยังแสดงคำเตือนในหน้าต่างเครื่องมือBuild หาก 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 |
|