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

targetSdk≥31已配置android:exported仍报编译错误如何解决

报错的核心原因是AGP 4.2.2对Android 12(API 31+)的清单规则适配不全,你自己主清单的组件虽然已经配置了android:exported,但三方依赖库引入的带intent-filter的组件(Activity、Service、BroadcastReceiver、ContentProvider)没有配置该属性,合并后整体清单不符合规则导致报错。

可行解决方案

方案1:升级AGP版本

升级Android Gradle Plugin到7.0.0及以上稳定版,该版本开始原生适配Android 12的清单校验规则,构建时会直接输出具体是哪个依赖的哪个组件缺失android:exported属性,按照提示补全即可。

方案2:无需升级AGP,手动覆写三方组件配置

如果不想调整AGP版本,可以按以下步骤处理:

  • 先找到构建生成的合并后清单文件,路径一般为:app/build/intermediates/merged_manifest/[对应构建变体]/AndroidManifest.xml
  • 遍历该文件,找出所有带<intent-filter>标签但未显式声明android:exported属性的组件
  • 将这些组件的声明完整复制到你项目的主AndroidManifest.xml中,根据组件的使用场景补充android:exported属性值:对外开放的组件填true,仅应用内部使用的组件填false。主清单的配置优先级高于三方依赖的清单配置,构建合并时会自动覆盖三方的原有配置。

内容的提问来源于stack exchange,提问作者Vadym Yaroshchuk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:48:01