คู่มือการย้ายข้อมูล 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 เต็มรูปแบบ

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

# settings.gradle
android.enableR8.fullMode=false

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

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

Flag ความเข้ากันได้ของ 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 มีรายการการเปลี่ยนแปลงที่ทำให้เกิดข้อขัดข้องและค่าสถานะที่ตั้งค่าเพื่อคงลักษณะการทำงานเดิมไว้ในคู่มือความเข้ากันได้สำหรับแต่ละเวอร์ชัน