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

修改AndroidManifest.xml后仍无法上传App Bundle至Google Play控制台

问题原因

你手里的主AndroidManifest.xml已经给带intent filter的MainActivity正确设置了android:exported="true",但报错说明项目依赖的第三方插件(或库)的AndroidManifest.xml中,存在带intent filter的Activity、Service或Broadcast Receiver,却未配置android:exported属性。Flutter编译时会自动合并所有模块的Manifest文件,这些未合规的组件会被打包进最终的App Bundle,导致Google Play的兼容性检测失败。

解决方法

1. 定位违规组件

执行以下命令生成合并后的完整Manifest文件,从中找出所有带intent filter但未设置android:exported的组件:

./gradlew app:mergeDebugAndroidManifest

生成的文件路径通常为app/build/intermediates/merged_manifests/debug/AndroidManifest.xml,打开后搜索<intent-filter>,逐一核对对应的组件(activity/service/receiver)是否包含android:exported属性。

2. 修复违规组件

方式一:升级依赖插件

优先检查违规组件所属的第三方插件是否有最新版本,多数老版本的推送、分享、Firebase类插件都已修复Android 12的兼容性问题,升级到最新版本即可自动补全android:exported配置。

方式二:手动在主Manifest中覆盖设置

如果暂时无法升级插件,可在你的主AndroidManifest.xml中针对违规组件添加android:exported属性进行覆盖。比如发现某插件的com.example.ThirdPartyActivity存在问题,可添加如下代码:

<activity
    android:name="com.example.ThirdPartyActivity"
    android:exported="true" <!-- 若组件无需对外暴露则设为false,根据实际用途判断 -->
    tools:node="merge" />

注意要在Manifest根标签中添加tools命名空间,否则tools:node会报错:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.myapp.usa">

3. 验证修复

重新编译生成App Bundle后再次上传,若仍报错则重复步骤1,确保所有带intent filter的组件都已配置android:exported属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 19:40:29