ความเข้ากันได้และการย้ายข้อมูลเวอร์ชัน Kotlin

หน้านี้ให้ข้อมูลเกี่ยวกับความเข้ากันได้ของ Kotlin เวอร์ชันต่างๆ สำหรับ Navigation SDK รวมถึงคำแนะนำสำหรับการย้ายข้อมูลไปยังเวอร์ชันใหม่กว่า

ตารางต่อไปนี้สรุปข้อกำหนดของ Kotlin เวอร์ชันต่างๆ รวมถึง AGP และ Gradle เวอร์ชันที่แนะนำสำหรับ Navigation SDK เวอร์ชันล่าสุด

Navigation SDK เวอร์ชัน Kotlin เวอร์ชัน (จำเป็น) ปลั๊กอิน Android Gradle (AGP) และ Gradle เวอร์ชัน (แนะนำ)
7.3+ 2.2.10
  • AGP 8.10.0
  • Gradle 8.11.1
6.3 - 7.2 2.1
  • AGP 8.7.3
  • Gradle 8.10.2
6.0 - 6.2 2.0
  • AGP 8.3.0
  • Gradle 8.4
5.1 - 5.99.1 1.9 เราขอแนะนำให้ใช้ AGP 7.3 ขึ้นไป ซึ่งมีวิธีแก้ปัญหาสำหรับ JDK-8272564

ความเข้ากันได้ของ Kotlin เวอร์ชันต่างๆ

Kotlin 2.2 รองรับความเข้ากันได้แบบย้อนหลังกับ Kotlin 2.1 ซึ่งหมายความว่าหากคุณใช้ Kotlin 2.1 กับ Navigation SDK อยู่แล้ว คุณควรจะอัปเกรดเป็น Kotlin 2.2 ได้โดยไม่ต้องแก้ไขการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบทั้งหมด อย่างไรก็ตาม การดำเนินการนี้ใช้ได้กับฟีเจอร์ภาษาที่เสถียร เท่านั้น หากคุณใช้ฟีเจอร์อัลฟ่า เบต้า หรือฟีเจอร์ทดลองในภาษา Kotlin คุณอาจต้องทำการเปลี่ยนแปลงเพิ่มเติมเมื่ออัปเกรด

ลดความซับซ้อนในการเปลี่ยนผ่าน: แฟล็กความเข้ากันได้ของ Kotlin

Kotlin มีแฟล็ก 2 รายการเพื่อช่วยจำกัดการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ https://kotlinlang.org/docs/compatibility-modes.html

language-version X.Y

แฟล็กนี้จะเปลี่ยนกลับการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบให้เป็นลักษณะการทำงานของ Kotlin เวอร์ชันก่อนหน้า ตัวอย่างเช่น หากคุณใช้ Kotlin 2.1 คุณสามารถระบุ [ - language-version 2.1] และการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบใหม่จะไม่ทำงานอีกต่อไป

android {
   kotlinOptions {
       languageVersion = '2.1'
   }
}

api-version X.Y

แฟล็กนี้จะแสดงข้อผิดพลาดในการบิลด์ Gradle เมื่อมีการใช้ API จาก Kotlin เวอร์ชันใหม่กว่า apiVersion

android {
   kotlinOptions {
       apiVersion = '2.1'
   }
}

แนวทางที่ตรงเป้ามากขึ้น

นอกจากการใช้แฟล็กความเข้ากันได้ของ Kotlin แล้ว เราขอแนะนำให้คุณอ่านบันทึกประจำรุ่นของ Kotlin และเลือกลักษณะการทำงานที่ต้องการเก็บไว้จากเวอร์ชันที่อัปเกรด Kotlin มีรายการการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบและแฟล็กที่ตั้งค่าเพื่อเก็บลักษณะการทำงานเดิมไว้ในคู่มือความเข้ากันได้สำหรับแต่ละเวอร์ชัน ดังนี้

การอัปเกรด Kotlin ในอนาคต

Kotlin จะเผยแพร่เวอร์ชันใหม่ (เช่น เวอร์ชันภาษา) ทุกๆ 6 เดือน และโดยปกติแล้ว Google จะรวมเวอร์ชันล่าสุดเป็นค่าเริ่มต้นใน ผลิตภัณฑ์ของเราภายใน 1-2 เดือนหลังจากนั้น Kotlin เวอร์ชันก่อนหน้ามีการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ ซึ่งกำหนดให้ลูกค้า Navigation SDK ต้องอัปเกรดเป็นเวอร์ชันใหม่กว่า ด้วยเหตุนี้ เราจึงขอแนะนำให้คุณวางแผนการอัปเกรด Kotlin ทุกๆ 6 เดือนเมื่อใช้ Navigation SDK เวอร์ชันล่าสุด