求助:Android Compose IncompatibleComposeRuntimeVersionException,添加runtime依赖仍报错
遇到这个异常,即便已经添加androidx.runtime依赖,通常是版本不匹配、依赖未正确引入或缓存问题导致,以下是具体排查和解决步骤:
检查Runtime依赖的实际生效版本
执行./gradlew dependencies命令生成依赖树,搜索androidx.runtime:runtime,确认其版本是否≥1.0.0。如果版本低于要求,可能是依赖配置文件(如libs.toml)中的版本未正确设置,或者被其他依赖强制降级。此时直接指定明确版本引入:implementation("androidx.runtime:runtime:1.5.1")注:Compose 1.5.1编译器插件建议搭配1.5.1及以上版本的Runtime,版本匹配能避免多数兼容性问题。
验证编译器插件与Runtime的兼容性
Compose编译器插件和Runtime版本有严格对应关系,确保composeOptions中的kotlinCompilerExtensionVersion为1.5.1,同时项目的Kotlin版本需与编译器插件兼容(1.5.1插件对应Kotlin 1.9.0~1.9.20版本)。配置示例:composeOptions { kotlinCompilerExtensionVersion = "1.5.1" }确认依赖的模块配置
如果是多模块项目,确保androidx.runtime依赖是添加在**应用模块(app)**的build.gradle.kts中,库模块的依赖不会自动传递到应用模块,需在app模块显式声明。清理缓存并重新构建
执行./gradlew clean清理构建缓存,然后重启Android Studio,再执行./gradlew assembleDebug重新构建项目。缓存过期或损坏也可能导致依赖解析异常。排除冲突依赖
如果有第三方依赖间接引入了低版本的androidx.runtime,可在依赖声明中排除冲突模块,再手动引入指定版本:implementation(libs.androidx.runtime) { exclude(group = "androidx.runtime", module = "runtime") } implementation("androidx.runtime:runtime:1.5.1")
内容的提问来源于stack exchange,提问作者HamTory

