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

Android 12+已指定android:exported仍遇清单合并错误求助

问题原因分析

你自己的Manifest里的两个Activity都已经正确声明了android:exported,但错误依然出现的核心原因是:你引入的第三方依赖库(比如AdMob或其他SDK)中,存在带有<intent-filter>但未显式指定android:exported属性的组件(Activity、Service、BroadcastReceiver等)。Android 12及以上版本要求,所有包含intent-filter的组件必须显式声明该属性,否则Manifest合并会失败。

你看到的“添加intent-filter解决问题”是误解,正确逻辑恰好相反——需要给已有intent-filter的组件补全android:exported,而非新增intent-filter。

具体解决步骤

1. 定位问题组件

执行以下Gradle命令获取详细错误日志,找到具体缺失android:exported的组件:

# macOS/Linux
./gradlew app:processEmbedNoRecordReleaseMainManifest --stacktrace

# Windows
gradlew.bat app:processEmbedNoRecordReleaseMainManifest --stacktrace

日志中会明确指出是哪个包下的哪个组件(比如com.google.android.gms.ads.AdService或某个BroadcastReceiver)导致的问题。

2. 手动补全组件的android:exported属性

在你的Manifest的<application>标签内,声明该组件并添加android:exported:

  • 如果组件不需要对外暴露(比如内部服务),设为false:
    <service
        android:name="com.google.android.gms.ads.AdService"
        android:exported="false" />
    
  • 如果组件需要接收外部Intent(比如系统广播),设为true。

3. 排查所有依赖SDK

除了AdMob,你引入的其他游戏SDK、统计SDK等也可能存在这类问题,重复步骤1和2,逐一补全所有缺失属性的组件。

额外验证

完成修改后,重新执行构建命令,确认Manifest合并错误消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 12:05:14