You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 06:36:35