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

Flutter 1.22.0应用上传AAB至Google商店遇Android 12兼容错误

解决Flutter 1.22.0上传AAB至Google商店时的Android 12导出属性错误

你遇到的问题核心是:合并后的AndroidManifest.xml中仍存在带但未设置android:exported的组件——这类组件可能来自Flutter老版本的默认模板,或是第三方依赖库自动生成的,只修改自己写的Activity肯定不够。

以下是具体解决步骤:

  • 检查完整的合并Manifest
    打开Android Studio,找到app/src/main/AndroidManifest.xml,切换到底部的「Merged Manifest」标签。这里会显示最终打包到AAB里的完整Manifest文件。搜索<intent-filter>,逐个核对对应的<activity>、<service>、<receiver>标签,确认每个都带有android:exported属性。

  • 手动补全缺失的属性
    如果发现第三方依赖库的组件没加android:exported,在你自己的Manifest里用同名标签覆盖并添加属性:

    <!-- 示例:补全服务的exported属性 -->
    <service
        android:name="com.xxx.xxx.SomeThirdPartyService"
        android:exported="false" />
    
    <!-- 示例:补全广播接收器的exported属性 -->
    <receiver
        android:name="com.xxx.xxx.SomeReceiver"
        android:exported="true">
        <intent-filter>
            <!-- 原有的intent filter内容 -->
        </intent-filter>
    </receiver>
    

    注意:组件对外暴露(比如主入口Activity的LAUNCHER过滤器)设为true,仅内部使用则设为false。

  • 检查Gradle配置兼容性
    targetSdkVersion设为31时,需要确保android/build.gradle里的Android Gradle Plugin版本至少是4.2.0,否则可能出现适配问题:

    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.2' // 或更高兼容版本
    }
    
  • 清理并重新构建
    执行以下命令彻底清理缓存后重新生成AAB:

    flutter clean
    flutter build appbundle --release
    
  • 推荐升级Flutter版本
    Flutter 1.22.0是2020年的旧版本,对Android 12的适配支持不完善。升级到最新稳定版(如3.x系列),官方模板已经默认处理了android:exported属性,能从根源避免这类问题:

    flutter upgrade
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 03:55:17