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

将使用机器学习套件设备端模型的应用部署到生产环境之前,建议您按照本页面中给出的建议,缩小应用的下载体量。

构建应用时采用 Android App Bundle 格式

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

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

如果您的应用中使用机器学习套件的功能不是该应用的主要功能,建议您重构应用,将这部分功能及其机器学习套件依赖项移至动态功能模块

为了让 ML Kit 功能在按需功能模块中正常运行,请在基本 apk 的 build.gradle 文件中添加 ML Kit 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'
      }
  }
}