ปลั๊กอิน Android Gradle 8.3.0 เป็นเวอร์ชันสำคัญที่มีฟีเจอร์ใหม่ๆ มากมาย ฟีเจอร์และการปรับปรุงต่างๆ
ความเข้ากันได้
ระดับ API สูงสุดที่ปลั๊กอิน Android Gradle 8.3 รองรับคือ API ระดับ 34 ข้อมูลอื่นๆ เกี่ยวกับความเข้ากันได้มีดังนี้
เวอร์ชันต่ำสุด | เวอร์ชันเริ่มต้น | หมายเหตุ | |
---|---|---|---|
เกรเดิล | 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 Patch 1 และ AGP 8.3.1 (มีนาคม 2024)
การอัปเดตเล็กน้อยนี้รวมถึง การแก้ไขข้อบกพร่องเหล่านี้
การรองรับแคตตาล็อกเวอร์ชัน Gradle
Android Studio รองรับแบบ TOML แคตตาล็อกเวอร์ชัน Gradle ฟีเจอร์ที่ให้คุณจัดการทรัพยากร Dependency ได้ในพื้นที่ศูนย์กลางเพียงแห่งเดียวและแชร์ ทรัพยากร Dependency ในโมดูลหรือโปรเจ็กต์ต่างๆ ตอนนี้ Android Studio ทำให้ กำหนดค่าแคตตาล็อกเวอร์ชันผ่านคำแนะนำของเครื่องมือแก้ไขและการผสานรวมกับ กล่องโต้ตอบโครงสร้างโครงการ เรียนรู้วิธีการ ตั้งค่าและกำหนดค่าแคตตาล็อกเวอร์ชัน Gradle หรือวิธีการ ย้ายข้อมูลบิลด์ไปยังแคตตาล็อกเวอร์ชัน
การเติมโค้ดและการนำทาง
Android Studio มีการเติมโค้ดเมื่อคุณแก้ไขแคตตาล็อกเวอร์ชันใน
รูปแบบไฟล์ TOML หรือเพิ่มทรัพยากร Dependency จากแคตตาล็อกเวอร์ชันลงในบิลด์
หากต้องการใช้การเติมโค้ด ให้กด Ctrl+Space
(Command+Space ใน macOS) นอกจากนี้ คุณยังไปยังส่วนต่างๆ ได้อย่างรวดเร็วจาก
การอ้างอิงทรัพยากร Dependency ในไฟล์ build.gradle
ของแอปไปยังที่ที่มีการประกาศไว้
ในแคตตาล็อกเวอร์ชันโดยการกด Ctrl+b
(Command+b ใน macOS)
การผสานรวมกับกล่องโต้ตอบโครงสร้างโปรเจ็กต์
หากโปรเจ็กต์ของคุณใช้แคตตาล็อกเวอร์ชันที่กำหนดไว้ในรูปแบบไฟล์ TOML คุณจะดำเนินการต่อไปนี้ได้ แก้ไขตัวแปรที่คุณกำหนดไว้ผ่านกล่องโต้ตอบโครงสร้างของโครงการ มุมมองตัวแปร (ไฟล์ > โครงสร้างโปรเจ็กต์ > ตัวแปร) ใน Android Studio สำหรับแคตตาล็อกเวอร์ชันแต่ละรายการจะมีเมนูแบบเลื่อนลงที่แสดงตัวแปรจาก แคตตาล็อกดังกล่าว หากต้องการแก้ไขตัวแปร ให้คลิกค่าและเขียนทับตัวแปร เมื่อคุณ บันทึกการเปลี่ยนแปลงเหล่านี้ จากนั้นไฟล์ TOML จะได้รับการอัปเดตตามนั้น
คุณสามารถอัปเดตทรัพยากร Dependency ในกล่องโต้ตอบโครงสร้างโปรเจ็กต์ได้ด้วย มุมมองการขึ้นต่อกัน (ไฟล์ > โครงสร้างของโปรเจ็กต์ > การขึ้นต่อกัน) เพื่ออัปเดต โดยใช้กล่องโต้ตอบโครงสร้างโครงการ ไปที่โมดูลและ ทรัพยากร 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
และใช้ทรัพยากร Dependency ของไฟล์ดังกล่าวในโปรเจ็กต์ของคุณไม่รองรับการนำทางสำหรับไฟล์บิลด์ KTS: ไปยังทรัพยากร Dependency คำจำกัดความในแคตตาล็อกเวอร์ชันโดยใช้ Control + คลิก ระบบยังไม่รองรับ (Command+คลิกใน macOS) สำหรับไฟล์บิลด์ ที่เขียนโดยใช้สคริปต์ Kotlin
Firebase Assistant เพิ่มทรัพยากร Dependency โดยตรงในสคริปต์บิลด์ดังนี้ Firebase Assistant เพิ่มการพึ่งพาโดยตรงลงในสคริปต์บิลด์แทนที่จะเพิ่มผ่านเวอร์ชัน แคตตาล็อก
"ดูการใช้งาน" ไม่รองรับฟังก์ชันการทำงาน: การค้นหาการใช้งานแคตตาล็อกเวอร์ชัน ยังไม่มีการสนับสนุนตัวแปรในไฟล์บิลด์อื่นๆ ไม่ว่าไฟล์บิลด์จะเป็น ใน KTS หรือ Groovy นั่นคือการใช้ Control+คลิก (Command+คลิก macOS) ที่คําจํากัดความของตัวแปรในเวอร์ชัน ไม่ได้นำตัวแปรนี้ไปใช้ในไฟล์บิลด์
กล่องโต้ตอบโครงสร้างโปรเจ็กต์ใน Android Studio แสดงแคตตาล็อกหลายรายการ หากไฟล์อยู่ในโฟลเดอร์ราก
gradle
แต่ไม่แสดงแคตตาล็อกสำหรับ บิลด์แบบผสม เช่น หากคุณมีไฟล์แคตตาล็อก 2 ไฟล์ โดยไฟล์แรกสำหรับแอปและอีกไฟล์สำหรับ บิลด์แบบผสม กล่องโต้ตอบโครงสร้างโปรเจ็กต์จะแสดงเฉพาะไฟล์แคตตาล็อกแอป คุณสามารถใช้บิลด์แบบผสมได้ แต่ต้องแก้ไขไฟล์ TOML ของเวอร์ชันโดยตรง
ข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับ SDK: ปัญหาเกี่ยวกับนโยบาย
Android Studio แสดงคำเตือนของ Lint ใน 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 ยังแสดงคำเตือนในหน้าต่างเครื่องมือสร้างหาก 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
ของโครงการ