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

添加Material3依赖后androidx.compose.runtime.livedata出现引用冲突

问题原因与解决方案

核心原因

这是依赖版本冲突引发的问题:

  • observeAsState()是androidx.compose.runtime:runtime-livedata库提供的扩展函数,正常情况下,它会作为Compose基础依赖的间接库被自动引入。
  • 你添加的material3:1.1.0-alpha07是预览版,它的依赖传递逻辑可能发生了变化——要么拉取了一个移除了该扩展函数的旧版runtime-livedata,要么不再默认依赖这个库,导致项目中缺失了对应的类和扩展函数。
  • 移除Material3依赖后,项目里其他Compose相关依赖(比如Material2)会重新引入兼容版本的runtime-livedata,所以问题自然消失。

解决办法

  1. 显式添加runtime-livedata依赖
    直接在build.gradle中声明该库,强制使用和你项目Compose核心版本匹配的版本号,比如你的Compose核心是1.5.x,就加:

    implementation "androidx.compose.runtime:runtime-livedata:1.5.0"
    

    同步后就能正常解析observeAsState()。

  2. 排查并排除冲突依赖
    执行依赖树命令查看冲突来源:

    ./gradlew app:dependencies
    

    搜索runtime-livedata找到Material3依赖拉取的异常版本,然后通过exclude规则排除它的间接引入:

    implementation("androidx.compose.material3:material3:1.1.0-alpha07") {
        exclude group: 'androidx.compose.runtime', module: 'runtime-livedata'
    }
    

内容的提问来源于stack exchange,提问作者Maksim Golendukhin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 04:08:18