缩减机器学习套件 Android 应用的 APK 的大小

在将使用机器学习套件设备端模型的应用部署到生产环境之前,请考虑遵循本页面上的建议来缩减应用的下载大小。

将应用构建为 Android App Bundle

以 Android App Bundle 格式构建和部署应用,以便 Google Play 可以自动为特定屏幕密度、CPU 架构和语言生成 APK。用户只需下载与其设备配置相匹配的 APK,最重要的是,用户只需下载与其设备架构相匹配的原生代码库。

高级:将可选机器学习功能移至动态功能模块

如果您在应用中并非主要用途的功能中使用机器学习套件,请考虑重构应用,将该功能及其机器学习套件依赖项移至动态功能模块。

为了使机器学习套件功能在按需功能模块中正常运行,请在基础 APK 的 build.gradle 文件中添加机器学习套件 Play 商店动态功能支持库依赖项。

dependencies {
    // ...
    implementation 'com.google.mlkit:playstore-dynamic-feature-support:16.0.0-beta2'
}

这样一来,您就可以防止用户不必要地下载应用的机器学习模型(这些模型可能很大)。

高级:排除未使用的机器学习套件二进制文件

机器学习套件同时支持 32 位和 64 位架构。如果您的应用仅支持 32 位模式(例如,因为您使用的库仅提供 32 位二进制文件),则可以从 build 中排除未使用的机器学习套件库:

android {
  defaultConfig {
      ndk {
          // Don't package arm64-v8a or x86_64
          abiFilters 'armeabi-v7a', 'x86'
      }
  }
}