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

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

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

เวอร์ชัน Navigation SDK เวอร์ชัน Kotlin (ต้องระบุ) ปลั๊กอิน Android Gradle (AGP) และเวอร์ชัน Gradle (แนะนำ)
6.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.1 รองรับการทำงานร่วมกับ Kotlin 2.0 ซึ่งหมายความว่าหากคุณใช้ Kotlin 2.0 กับ Navigation SDK อยู่แล้ว คุณควรอัปเกรดเป็น Kotlin 2.1 ได้โดยไม่ต้องแก้ไขการเปลี่ยนแปลงที่ทำให้เกิดข้อขัดข้องทั้งหมด อย่างไรก็ตาม การดำเนินการนี้จะมีผลกับฟีเจอร์ภาษาที่เสถียรเท่านั้น หากคุณใช้ฟีเจอร์เวอร์ชันอัลฟ่า เบต้า หรือเวอร์ชันทดลองในภาษา Kotlin คุณอาจต้องทำการเปลี่ยนแปลงเพิ่มเติมเมื่ออัปเกรด

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

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

language-version X.Y

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

android {
   kotlinOptions {
       languageVersion = '2.0'
   }
}

api-version X.Y

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

android {
   kotlinOptions {
       apiVersion = '2.0'
   }
}

แนวทางที่มุ่งเน้นมากขึ้น

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

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

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