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

执行gradlew assembleDebug报错,无法升级compileSdkVersion至31求解决方法

解决':app:checkDebugAarMetadata'执行失败的方案(不升级compileSdkVersion到31)

你的问题源于间接引入的androidx.appcompat:appcompat-resources:1.4.1要求最低compileSdk为31,但项目compileSdk固定为28。以下是无需升级compileSdk的解决方法:

方法1:禁用AndroidX与Jetifier

你的项目依赖旧版com.android.support:appcompat-v7:28.0.3,而androidx.appcompat:appcompat-resources是AndroidX库,通过禁用AndroidX可阻止gradle自动引入该依赖:

  1. 打开项目根目录的gradle.properties文件
  2. 添加或修改以下配置:
android.useAndroidX=false
android.enableJetifier=false

方法2:强制指定低版本appcompat-resources

指定一个支持compileSdk 28的appcompat-resources版本(如1.1.0,其minCompileSdk为28),强制gradle使用该版本而非高版本:
在app模块的build.gradle中添加以下配置(可放在android块之后):

configurations.all {
    resolutionStrategy.force 'androidx.appcompat:appcompat-resources:1.1.0'
}

方法3:排除间接引入的appcompat-resources

先通过命令查看依赖树,找到引入androidx.appcompat:appcompat-resources的源头:

./gradlew app:dependencies

找到对应依赖后,在build.gradle的dependencies块中排除该依赖,例如:

implementation 'com.example:problematic-library:1.0.0' {
    exclude group: 'androidx.appcompat', module: 'appcompat-resources'
}

方法4:临时禁用AAR元数据检查(不推荐)

直接跳过检查任务,仅作为紧急临时方案,可能隐藏其他兼容性问题:
在app模块的build.gradle的android块中添加:

tasks.whenTaskAdded { task ->
    if (task.name.startsWith('checkDebugAarMetadata')) {
        task.enabled = false
    }
}

内容的提问来源于stack exchange,提问作者Sutha Siva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 00:20:57