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

Flutter发布到Play Store的APK体积超100MB无法缩小如何优化?

Flutter Google ML Kit 项目APK体积超标优化方案

核心原因说明

你遇到的体积超标问题基本来自Google ML Kit的默认打包规则:默认会打包全CPU架构的原生SO库、全语言的识别模型到通用APK中,哪怕你只用到部分功能,这部分冗余资源通常会占用70MB以上的空间。

可落地优化步骤

  • 优先使用App Bundle(AAB)格式上传到Play Store
    Play Store会自动针对不同CPU架构、语言的设备做资源拆分,用户实际下载的安装包只会包含自身设备需要的资源,本地测试的通用APK体积不代表用户实际下载体积,AAB格式完全可以规避100MB的安装包限制。
  • 拆分ABI构建单独APK(如果一定要传APK格式)
    执行命令flutter build apk --split-per-abi,会分别生成arm64-v8a、armeabi-v7a、x86_64三个架构的独立APK,单个APK体积相比通用APK会降低60%左右,都可以控制在100MB以内。
  • 开启安卓端混淆与资源压缩
    打开android/app/build.gradle文件,在release构建配置中开启如下配置:
    android {
      buildTypes {
        release {
          minifyEnabled true
          shrinkResources true
          proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
      }
    }
    
    同时在proguard-rules.pro中添加Google ML Kit的保留规则,避免功能被混淆失效。
  • 裁剪ML Kit依赖
    不要引入全量的ML Kit文本识别包,根据你的需求选择最小依赖:如果仅需要识别拉丁文,使用仅支持拉丁文的轻量识别包;如果需要支持中文,在gradle配置中排除不需要的其他语种识别模型,可减少20MB~40MB的占用。
  • 清理冗余依赖
    执行flutter pub deps查看项目依赖树,移除未使用的第三方包,避免间接引入的冗余资源占用空间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:54:04