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

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

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

เวอร์ชัน Navigation SDK เวอร์ชัน Kotlin (ต้องระบุ) เวอร์ชันของปลั๊กอิน Android Gradle (AGP) และ Gradle (แนะนำ)
8.0 ขึ้นไป 2.3.0
  • AGP 9.0.1
  • Gradle 9.1.0

สำคัญ: สำหรับ Navigation SDK 8.0 ขึ้นไป AGP 9.0.1 เป็นข้อกำหนดขั้นต่ำ ไม่ใช่คำแนะนำ SDK ประกาศ minAndroidGradlePluginVersion=9.0.1 และบิลด์ที่ใช้ AGP เวอร์ชันก่อนหน้าจะดำเนินการไม่สำเร็จ

7.7 - 7.9 2.3.0
  • AGP 8.13.2
  • Gradle 8.13
7.3 - 7.6 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.3 รองรับความเข้ากันได้แบบย้อนหลังกับ Kotlin 2.2 ซึ่งหมายความว่าหากคุณใช้ Kotlin 2.2 กับ Navigation SDK อยู่แล้ว คุณควรอัปเกรดเป็น Kotlin 2.3 ได้โดยไม่ต้องแก้ไขการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบทั้งหมด อย่างไรก็ตาม การดำเนินการนี้จะมีผลกับฟีเจอร์ภาษาที่เสถียรเท่านั้น หากคุณใช้ฟีเจอร์เวอร์ชันอัลฟ่า เบต้า หรือเวอร์ชันทดลองในภาษา Kotlin คุณอาจต้องทำการเปลี่ยนแปลงเพิ่มเติมเมื่ออัปเกรด

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

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

language-version X.Y

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

android {
   kotlinOptions {
       languageVersion = '2.2'
   }
}

api-version X.Y

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

android {
   kotlinOptions {
       apiVersion = '2.2'
   }
}

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

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

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

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