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

适配Android 12时已配置android:exported仍触发组件规则报错排查

问题原因

你自己主Manifest里的组件虽然都配置了android:exported,但Android编译时会把所有第三方依赖库的Manifest和你主Manifest合并,报错大概率是第三方依赖库中的组件带intent-filter,但没有显式指定android:exported值导致的。

解决步骤

  • 第一步:查看合并后的Manifest定位问题组件
    用Android Studio打开你的主AndroidManifest.xml,点击编辑器底部的「Merged Manifest」标签,就能看到所有合并后的组件列表,找到带intent-filter但未显式声明android:exported的组件,记录该组件的完整类名、所属包名。
  • 第二步:在主Manifest中重写覆盖该组件配置
    在你主Manifest的<application>标签内,新增对应组件的配置,显式指定android:exported的值,用tools:node属性确保你的配置覆盖依赖库的配置,示例如下:
    <!-- 根据组件类型选activity/service/receiver/provider,全类名填你刚才查到的第三方组件的完整类名 -->
    <activity
        android:name="com.xxx.第三方库组件的完整类名"
        android:exported="false" <!-- 组件如果需要对外暴露就填true,仅内部使用就填false -->
        tools:node="merge" />
    
  • 常见易踩坑的依赖排查方向
    优先检查以下几类依赖,旧版本普遍未适配Android 12的android:exported要求:
    • 版本低于23.0.0的Firebase相关组件(比如firebase-messaging)
    • 版本低于2.7.0的WorkManager组件
    • 各类旧版本的推送、统计、分享第三方SDK

额外注意点

检查你主Manifest中所有android:exported的赋值是否正确,不要出现拼写错误,必须是显式的true或false布尔值。

内容的提问来源于stack exchange,提问作者Hamdi JOUINI

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:15:08