Android Studio使用KMM共享模块类做Data Binding时报错但编译正常
KMM共享模块Data Binding变量访问报错解决方案
检查Android模块依赖配置
确保Android app模块的build.gradle/kts中正确引入KMM共享模块依赖:dependencies { implementation(project(":shared")) // 其他依赖项 }同时确认共享模块的build.gradle/kts中配置了正确的Android目标:
android { compileSdk = 34 // 适配项目实际SDK版本 defaultConfig { minSdk = 24 // 其他必要配置 } }清理项目并重启IDE
执行Gradle清理命令:./gradlew clean重新构建项目后,重启Android Studio并清除缓存(路径:
File → Invalidate Caches... → Invalidate and Restart)验证布局文件变量声明
确保Data Binding布局里的变量类型路径完全匹配KMM共享模块中的类:<data> <variable name="viewModel" type="com.example.shared.viewmodels.MyViewModel" /> </data>仔细核对包名、类名的大小写,避免拼写错误。
检查KMM类的可见性
确保MyViewModel类为public(Kotlin默认可见性),不要使用internal修饰符,否则Android模块无法访问。如果需要在Android端继承该类,还需将其声明为open:// 共享模块中的ViewModel示例 open class MyViewModel { // 类逻辑内容 }更新KMM插件版本
打开Android Studio插件市场,检查Kotlin Multiplatform Mobile插件是否为最新版本,旧版本可能存在IDE层面的兼容性问题,导致错误提示误报。
内容的提问来源于stack exchange,提问作者Gal Arzi
相关产品推荐
相关产品推荐

