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

上传Android App Bundle遇未设置android:exported属性,添加后仍无效求助

解决Google Play上传AAB时的android:exported属性错误(Android 12+)

核心排查方向:覆盖所有带的组件

Google Play的错误提示明确要求所有带有的Activity、Activity Alias、Service、Broadcast Receiver必须显式设置android:exported属性,你可能只处理了自己代码中的组件,但忽略了依赖库或合并后的Manifest里的组件。

1. 查看合并后的最终Manifest文件

Android Studio会合并你自己的Manifest和所有依赖库的Manifest,很多时候问题出在第三方库的组件上:

  • 打开你的AndroidManifest.xml文件
  • 切换到底部的Merged Manifest标签
  • 搜索所有包含<intent-filter>的组件,逐一检查是否都设置了android:exported属性

2. 处理第三方库的未合规组件

如果发现是依赖库中的组件缺少android:exported,有两种解决方式:

  • 优先升级库版本:找到对应库的最新版本,通常新版本会适配Android 12+的要求,添加了android:exported属性
  • 手动覆盖声明:如果暂时无法升级,在你自己的AndroidManifest.xml中重新声明该组件,补充android:exported属性。例如:
    <!-- 假设第三方库的Service缺少exported属性 -->
    <service
        android:name="com.thirdparty.library.SomeService"
        android:exported="false"> <!-- 根据组件用途设置true/false:对外暴露设true,仅内部使用设false -->
        <!-- 复制原库中的intent-filter内容 -->
        <intent-filter>
            <action android:name="com.thirdparty.library.ACTION_EXAMPLE"/>
        </intent-filter>
    </service>
    

3. 确认编译配置符合要求

检查你的模块build.gradle(或build.gradle.kts)文件:

  • 确保compileSdkVersion和targetSdkVersion至少设置为31(Android 12对应的API级别)
  • 示例配置:
    android {
        compileSdk 34
        defaultConfig {
            targetSdk 34
            // 其他配置...
        }
    }
    

4. 清理重建项目后重新生成AAB

缓存可能导致Manifest合并不生效,执行以下步骤:

  • 点击Android Studio顶部菜单栏的Build > Clean Project
  • 然后执行Build > Rebuild Project
  • 重新生成App Bundle(Build > Generate Signed Bundle/APK)后再上传到Google Play

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:48:14