คู่มือการย้ายข้อมูล Android Consumer SDK 3.0

ย้ายข้อมูลไปยัง Kotlin 2.0

หากใช้ Consumer SDK สำหรับ Android เวอร์ชัน 3.0 ขึ้นไป คุณต้องอัปเกรดเป็น Kotlin 2.0 หน้านี้มีคำแนะนำเพื่อช่วยให้การเปลี่ยนไปใช้ Kotlin เวอร์ชันใหม่เป็นไปอย่างราบรื่น

ความเข้ากันได้ของ Gradle และ AGP

Kotlin 2.0 มีข้อกำหนดสำหรับเวอร์ชันต่ำสุดและสูงสุด ของ Gradle และปลั๊กอิน Android Gradle (AGP) ตรวจสอบว่าโปรเจ็กต์เป็นไปตามข้อกำหนดเหล่านี้สำหรับ Kotlin 2.0

AGP เวอร์ชันต่ำสุดสำหรับ Consumer SDK เวอร์ชัน 3.0 ขึ้นไป

Consumer SDK เวอร์ชัน 3.0 กำหนดให้ใช้ AGP เวอร์ชัน 7.3 ขึ้นไป

โหมด R8 เต็มรูปแบบ

Consumer SDK เวอร์ชัน 3 และต่ำกว่าไม่รองรับโหมด R8 เต็มรูปแบบ คุณต้องปิดใช้โหมด R8 เต็มรูปแบบอย่างชัดเจนหากแอปพลิเคชันกำหนดเป้าหมายเป็น AGP เวอร์ชัน 8.0 ขึ้นไป

# settings.gradle
android.enableR8.fullMode=false

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

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

แฟล็กความเข้ากันได้ของ Kotlin

ดังที่ระบุไว้ในส่วนก่อนหน้า Kotlin รองรับภาษาเวอร์ชันก่อนหน้าสูงสุด 3 เวอร์ชันเมื่ออัปเกรด Kotlin มีแฟล็ก 2 รายการเพื่อช่วยจำกัดการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ:

language-version X.Y

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

android {
   kotlinOptions {
       languageVersion = '1.7'
   }
}
api-version X.Y

แฟล็กนี้จะป้องกันไม่ให้ใช้ API ใหม่ก่อนที่โค้ดดาวน์สตรีมที่ขึ้นอยู่กับ API นั้นพร้อมที่จะรวม Kotlin 2.0

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

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

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