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