คู่มือการย้ายข้อมูล 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 คุณอาจต้องทำการเปลี่ยนแปลงเพิ่มเติมเมื่ออัปเกรด

Flag ที่เข้ากันได้กับ Kotlin

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

language-version X.Y

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

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

Flag นี้จะป้องกันไม่ให้มีการใช้ API ใหม่ก่อนที่โค้ดดาวน์สตรีมที่เกี่ยวข้องจะพร้อมที่จะรวม Kotlin 2.0

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

แนวทางที่มุ่งเน้นมากขึ้น

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