如何将 package kotlinx.android.parcel
中的 annotation class Parcelize
替换为不是来自 kotlin-android-extensions 插件的 Parcelize?
这应该是新插件:https://plugins.gradle.org/plugin/org.jetbrains.kotlin.plugin.parcelize
如果使用插件 DSL,您可以在子模块中使用插件 ID。确保项目的类路径中提供了最新的 Kotlin Android 插件。
// project build.gradle
plugins {
..
id "org.jetbrains.kotlin.android" version "1.4.20" apply false
}
// app build.gradle
plugins {
..
id 'kotlin-parcelize'
}
使用 kts 时,您可以编写 ->
// project build.gradle.kts
plugins {
..
kotlin("android") version "1.4.20" apply false
}
// app build.gradle.kts
plugins {
..
id("kotlin-parcelize")
}
--- 或旧插件应用程序 ---
第 1 步。更新到最新的 kotlin 版本 - 1.4.20
并替换
apply plugin: 'kotlin-android-extensions'
有了这个->
apply plugin: 'kotlin-parcelize'
步骤 2. 从 android {} 中删除此代码
androidExtensions {
experimental = true
}
步骤 3. 最后,替换旧的导入 ->
import kotlinx.android.parcel.Parcelize
新进口
import kotlinx.parcelize.Parcelize
首先,您需要将 kotlin-parcelize
插件添加到您的模块中。
plugins {
..
id 'kotlin-parcelize'
}
然后将旧的导入语句从
import kotlinx.android.parcel.Parcelize
至
import kotlinx.parcelize.Parcelize
kotlin-parcelize
插件仅在 kotlin 版本 1.4.20 之后才分离,不会在其下方找到。
使用 Groovy
build.gradle
(项目级别)
dependencies {
// .... project level dependencies
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20-RC"
}
build.gradle
(应用级)
plugins {
...
id 'kotlin-parcelize'
}
和数据类
import android.os.Parcelable
import kotlinx.parcelize.Parcelize
@Parcelize
class User(
val firstName: String,
val lastName: String,
val age: Int
): Parcelable
您可以在此处找到最新版本https://plugins.gradle.org/plugin/org.jetbrains.kotlin.plugin.parcelize
kotlin-android-extensions 已弃用,因此请从 kotlin-parcelize 替换它
只需更新您的导入
来自:import kotlinx.android.parcel.Parcelize
到:import kotlinx.parcelize.Parcelize
kotlinx
没有parcelize
子模块(?)。project build.gradle
部分是做什么用的?似乎没有必要kotlin-android
插件。