ความเข้ากันได้และการย้ายข้อมูลเวอร์ชัน 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 เวอร์ชันล่าสุด