Android Consumer SDK 3.0 遷移指南
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
遷移至 Kotlin 2.0
如果您使用的是 Consumer SDK for Android 3.0 以上版本,則必須升級至 Kotlin 2.0。本頁面提供指南,協助您輕鬆轉換至新的 Kotlin 版本。
Gradle 和 AGP 相容性
Kotlin 2.0 對 Gradle 和 Android Gradle 外掛程式 (AGP) 版本有最低和最高版本需求。請確認專案符合 Kotlin 2.0 的這些規定。
消費者 SDK 3.0 以上版本的 AGP 最低版本
消費者 SDK 3.0 需要使用 AGP 7.3 以上版本。
完整 R8 模式
Consumer SDK 3 以下版本不支援 Full R8 模式。如果應用程式指定 AGP 8.0 以上版本,則必須明確停用 Full R8 模式。
# settings.gradle
android.enableR8.fullMode=false
Kotlin 版本相容性
Kotlin 支援與前三個語言版本的回溯相容性。也就是說,如果您已使用 Consumer SDK 搭配 Kotlin 1.7 以上版本,應該就能升級至 Kotlin 2.0,而無須解決所有重大變更。不過,Kotlin 相容性僅適用於穩定的語言功能。如果您使用 Kotlin 語言中的 Alpha 版、Beta 版或實驗功能,則升級時可能需要進行其他變更。
Kotlin 相容性標記
如前文所述,Kotlin 在升級時最多可支援 3 個舊版語言。Kotlin 提供兩個旗標,可協助限制破壞性變更:
language-version X.Y
這個標記會將破壞變更還原為舊版 Kotlin 的行為。舉例來說,如果您使用的是 Kotlin 1.7,可以指定 [ -
language-version 1.7]
,這樣新的重大異動就不會生效:
android {
kotlinOptions {
languageVersion = '1.7'
}
}
api-version X.Y
這個標記可防止在依附的下游程式碼準備好納入 Kotlin 2.0 之前,使用新的 API。
android {
kotlinOptions {
apiVersion = '1.7'
}
}
更精準的做法
除了使用 Kotlin 相容性標記,我們也建議您查看 Kotlin 發布說明,並從要升級的版本中選擇要保留的行為。Kotlin 在各個版本的相容性指南中,提供重大變更清單和可設定的標記,以便保留原始行為:
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-01-14 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-01-14 (世界標準時間)。"],[[["Upgrading to Kotlin 2.0 is mandatory when utilizing the Consumer SDK for Android 3.0 or later."],["Ensure your Gradle and Android Gradle Plugin (AGP) versions meet the compatibility requirements for Kotlin 2.0, with Consumer SDK 3.0+ necessitating AGP 7.3 or higher."],["Disable Full R8 mode explicitly for Consumer SDK v3 and below when targeting AGP 8.0+."],["While Kotlin generally offers backward compatibility, potential breaking changes might require adjustments, especially when using alpha, beta, or experimental Kotlin features."],["Leverage Kotlin compatibility flags like `language-version` and `api-version` or consult the Kotlin compatibility guides for managing specific breaking changes during the upgrade."]]],[]]