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

已设置所有组件android:exported仍触发Android12+清单合并报错问题

报错根本原因

你仅检查了自己在主Manifest中声明的组件,但Target SDK ≥31(Android 12+)时,所有参与Manifest合并的组件(包括你引入的第三方AAR、远程依赖库中自带的Activity、Service、BroadcastReceiver),只要带有intent-filter,都必须显式声明android:exported属性,缺省就会触发合并失败报错。

解决方案

  • 第一步:定位缺失配置的组件
    打开Android Studio中你项目的AndroidManifest.xml文件,点击编辑器底部的「Merged Manifest」标签,查看所有合并后的组件列表,找到带有intent-filter、但未显式声明android:exported的组件,记录其完整类名。如果Merged Manifest中不好定位,也可以查看完整的构建失败日志,日志中会明确打印出缺失属性的组件信息。
  • 第二步:在主Manifest中覆盖配置
    在你主项目的AndroidManifest.xml的<application>节点下,重新声明该缺失配置的组件,显式指定android:exported属性,并添加覆盖规则,示例如下:
    <!-- 以下为示例,替换成你找到的第三方组件全类名 -->
    <activity
        android:name="com.third.package.ThirdActivity"
        android:exported="false" <!-- 若该组件需要对外开放调用则填true,内部使用填false -->
        tools:replace="android:exported" />
    
  • 补充检查项
    确认你自己项目中所有带有intent-filter的Service、BroadcastReceiver组件,也都已经显式配置了android:exported属性,这类组件缺省配置同样会触发该报错。

内容的提问来源于stack exchange,提问作者c-an

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:36:06