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

Android Studio如何解决依赖AAR元数据指定minCompileSdk(31)报错

解决方案

你可以根据自身需求选择以下任意一种路径处理:

路径1:保留compileSdk 30,无需升级SDK版本

你此前强制指定WorkManager版本不生效,是因为你添加的是Kotlin版本的work-runtime-ktx依赖,而你的项目是Java开发,需要替换为Java版本的依赖,配置如下:

  1. 在模块级build.gradle的dependencies代码块中添加如下配置:
def work_version = "2.6.0"
// 强制覆盖传递依赖的高版本WorkManager
implementation("androidx.work:work-runtime:$work_version") {
    force = true
}
  1. 如需全局拦截高版本WorkManager依赖,可在模块级build.gradle的android代码块外添加如下配置:
configurations.all {
    resolutionStrategy {
        force "androidx.work:work-runtime:2.6.0"
        // 可选:排除Kotlin版本的WorkManager避免冲突
        exclude group: 'androidx.work', module: 'work-runtime-ktx'
    }
}

配置完成后同步Gradle,重建项目即可解决编译报错。

路径2:使用compileSdk 31,解决android:exported报错

你添加完自有组件的android:exported属性后仍报错,是因为第三方依赖库的Manifest文件中包含带intent-filter的组件,未配置该属性。可按如下步骤排查修复:

  1. 打开你项目的AndroidManifest.xml文件,点击编辑器底部的「Merged Manifest」标签,查看所有合并后的组件列表。
  2. 找到所有带有intent-filter、但未显式配置android:exported属性的组件,记录组件的完整name路径。
  3. 在你自己项目的AndroidManifest.xml中覆写对应组件的属性,示例如下:
    首先在Manifest根标签添加tools命名空间:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="你的包名">

然后添加对应组件的覆写配置:

<activity
    android:name="第三方组件的完整类名"
    android:exported="false"
    tools:node="merge" />

如果是服务、广播接收器组件,对应修改标签为、即可,exported属性值根据组件是否需要被外部应用调用设置为true或false。
配置完成后同步Gradle,重建项目即可解决报错。

内容的提问来源于stack exchange,提问作者Muhammad Usama

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:39:04