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

使用google_ml_kit后APK体积增至138MB,求优化方案或替代包

解决Google ML Kit导致APK体积过大的问题及替代包推荐

一、减小Google ML Kit体积的优化方案

  • 仅引入所需子模块:不要依赖完整的google_ml_kit包,只引入身份证识别需要的文本识别模块google_mlkit_text_recognition。在pubspec.yaml中替换依赖:
    dependencies:
      google_mlkit_text_recognition: ^0.10.0 # 替换为最新版本
    
  • 使用Android App Bundle(AAB)发布:AAB会让Google Play为不同设备分发针对性优化的APK,自动剥离不必要的架构和资源,用户实际下载的体积会远小于通用APK。
  • 过滤ABI架构:在android/app/build.gradle中配置仅保留常用的ARM架构,移除x86等小众架构:
    android {
        defaultConfig {
            ndk {
                abiFilters 'armeabi-v7a', 'arm64-v8a'
            }
        }
    }
    
  • 启用R8/ProGuard混淆:确保开启代码混淆并添加ML Kit的规则到proguard-rules.pro,移除未使用的代码:
    -keep class com.google.mlkit.** { *; }
    -dontwarn com.google.mlkit.**
    

二、轻量替代包推荐

  • flutter_ocr:基于Tesseract OCR,支持离线文本识别,可按需下载对应语言的训练数据(适配身份证的语言),初始APK体积较小,灵活性高。
  • mobile_scanner + tesseract_ocr:用mobile_scanner完成身份证图像捕获,搭配轻量的tesseract_ocr实现文本提取,拆分功能后体积更易控制。
  • 继续使用cnic_scanner:若之前使用该包体积更优,可排查当前APK体积过大是否由其他依赖、冗余资源或配置问题导致,而非cnic_scanner本身的问题。

额外排查建议

检查项目中是否存在大体积资源文件(如高清图片、音频)、未移除的测试代码或冗余依赖,这些都可能导致APK体积异常增大。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 22:15:49