Kotlin多模块Android项目@Parcelize引用未解决问题求助
解决Parcelize插件'Unresolved reference'编译错误
问题核心是Kotlin版本不匹配和插件配置冗余/错误,按以下步骤修正:
1. 统一项目Kotlin版本
根目录build.gradle中配置的Kotlin版本(1.7.10)和你实际使用的1.8.0不一致,这会导致插件依赖冲突。将根文件里的Kotlin插件版本全部改为1.8.0:
plugins { id "com.android.application" version '7.4.2' apply false id "com.android.library" version '7.4.2' apply false id "org.jetbrains.kotlin.android" version "1.8.0" apply false id "org.jetbrains.kotlin.jvm" version "1.8.0" apply false id "com.google.dagger.hilt.android" version "2.42" apply false id "androidx.navigation.safeargs.kotlin" version "2.5.2" apply false }
2. 精简模块插件配置
功能模块的build.gradle里存在冗余插件:kotlin-android已经被org.jetbrains.kotlin.android包含,重复声明可能引发冲突。同时移除旧版Parcelize插件配置,保留正确的kotlin-parcelize:
plugins { id "com.android.library" id "org.jetbrains.kotlin.android" id "dagger.hilt.android.plugin" id "androidx.navigation.safeargs.kotlin" id "kotlin-kapt" id "kotlin-parcelize" }
3. 确认数据类代码正确性
确保数据类的import和继承写法正确,不需要手动实现Parcelable的任何方法,@Parcelize会自动生成实现:
import kotlinx.parcelize.Parcelize import android.os.Parcelable // 若IDE未自动导入,手动添加此行 @Parcelize data class SearchFilter( val id: Int?, val name: String? ): Parcelable
完成以上修改后,同步Gradle并重新编译,错误即可解决。
内容的提问来源于stack exchange,提问作者chris985
相关产品推荐
相关产品推荐

