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

Android App运行报错:依赖AAR元数据minCompileSdk大于项目compileSdkVersion

问题成因及解决方案

问题原因

出现该问题的核心原因是androidx.work:work-runtime:2.7.0-beta01版本要求最低编译SDK版本为31,而你项目当前配置的compileSdkVersion为30,版本不匹配触发编译报错。
你没有修改代码却突然出现问题,大概率属于以下两种情况:

  • 你的依赖声明中使用了动态版本号(比如2.+、latest.release),Gradle同步时自动拉取了最新发布的2.7.0-beta01版本
  • 项目引入的其他第三方依赖传递依赖了该版本的work-runtime,Gradle默认优先选择更高版本的依赖

解决方案

方案1:升级编译SDK版本(推荐)

这是官方推荐的最优解,升级compileSdk仅会影响编译阶段的行为,不会改变App在低版本系统上的运行逻辑,你可以保留targetSdkVersion为30不变。
修改app级build.gradle文件中的配置即可:

android {
    compileSdkVersion 31
    // 其余配置保持不变
}

方案2:强制锁定work-runtime低版本

如果暂时不想升级compileSdk,可以通过Gradle的依赖ResolutionStrategy强制指定work-runtime使用2.6.0及以下的稳定版本,该版本的minCompileSdk要求为30,适配你当前的项目配置。
在app级build.gradle文件的android代码块外层添加如下配置:

configurations.all {
    resolutionStrategy {
        force "androidx.work:work-runtime:2.6.0"
        // 如果你使用了kotlin扩展、rxjava适配等work相关依赖,也需要一同锁定版本
        // force "androidx.work:work-runtime-ktx:2.6.0"
    }
}

添加配置后重新执行Gradle同步即可生效。同时建议检查你项目中直接声明的work-runtime依赖,将动态版本号改为固定的2.6.0,避免后续再次出现自动升级的问题。

方案3:排查传递依赖并排除

如果你没有直接依赖work-runtime,说明是其他第三方库传递引入了高版本的work-runtime。你可以执行./gradlew app:dependencies命令查看依赖树,定位到引入高版本work-runtime的第三方库,对其排除work-runtime的传递依赖后,自行引入适配的低版本:

// 替换为实际引入的第三方库坐标
implementation("com.xxx.xxx:lib-name:xxx") {
    exclude group: 'androidx.work', module: 'work-runtime'
}
// 自行引入适配的低版本work-runtime
implementation "androidx.work:work-runtime:2.6.0"

内容的提问来源于stack exchange,提问作者Kishan Solanki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:06:03