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

适配Android12已加android:exported仍报清单合并错误如何解决

Android 12+ 清单合并android:exported报错排查方案

即使你自己主清单的所有Activity都添加了android:exported属性,仍然出现该报错,核心原因是引入的第三方依赖库中包含未显式声明android:exported的组件(Activity、Service、BroadcastReceiver、ContentProvider),可按以下步骤排查解决:

  • 第一步:查看合并后的最终清单文件
    打开Android Studio的AndroidManifest.xml文件,点击底部的「Merged Manifest」标签,即可查看所有依赖合并后的完整清单内容,筛选出所有未添加android:exported属性、且带有intent-filter的组件,记录组件的完整包名和类名。
  • 第二步:在主清单中覆写缺失属性的第三方组件
    首先在主AndroidManifest.xml的根<manifest>标签中添加tools命名空间:
    xmlns:tools="http://schemas.android.com/tools"
    
    然后对每一个找到的缺失属性的第三方组件,在主清单的<application>节点内重新声明该组件,显式指定android:exported属性并添加替换规则,示例如下:
    <!-- 替换为你找到的第三方组件完整类名 -->
    <activity
        android:name="com.third.package.ThirdPartyActivity"
        android:exported="false"
        tools:replace="android:exported" />
    
    注意:如果组件是 launcher 入口组件或者需要对外接收其他应用调用,android:exported设为true,其余内部使用的组件统一设为false即可。
  • 第三步:检查其他类型组件的属性声明
    该规则不止作用于Activity,所有targetSdkVersion >= 31的应用,带有intent-filter的Service、BroadcastReceiver、ContentProvider都必须显式声明android:exported属性,排查时不要遗漏这几类组件。
  • 额外校验项
    检查你自己声明的组件中android:exported是否存在拼写错误,拼写错误会导致属性不被系统识别,也会触发该报错。

内容的提问来源于stack exchange,提问作者Ritesh Chauhan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:15:03