ML Kit Android 앱의 APK 크기 줄이기

ML Kit 기기별 모델을 사용하는 앱을 프로덕션에 배포하기 전에 이 페이지의 권장 사항을 참고하여 앱 다운로드 크기를 줄이는 것이 좋습니다.

Android App Bundle로 앱 빌드

Android App Bundle로 앱을 빌드 및 배포하여 Google Play가 특정 화면 밀도, CPU 아키텍처, 언어를 위한 APK를 자동으로 생성할 수 있도록 합니다. 사용자는 자신의 기기 설정과 일치하는 APK를 다운로드하기만 하면 됩니다. 가장 중요한 점은 사용자는 기기 아키텍처와 일치하는 네이티브 코드 라이브러리만 다운로드한다는 것입니다.

고급: 선택사항 ML 기능을 동적 기능 모듈로 이동

주 용도가 아닌 앱 기능에 ML Kit를 사용하는 경우 앱을 리팩터링하여 기능과 ML Kit 종속 항목을 동적 기능 모듈로 옮기는 방법을 고려하세요.

ML Kit 기능이 주문형 기능 모듈에서 작동하려면 기본 APK의 build.gradle 파일에 ML Kit Play 스토어 동적 기능 지원 라이브러리 종속 항목을 포함합니다.

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

이렇게 하면 용량이 클 수 있는 앱의 ML 모델을 사용자가 불필요하게 다운로드하지 않도록 할 수 있습니다.

고급: 사용되지 않는 ML Kit 바이너리 제외

ML Kit는 32비트 및 64비트 아키텍처를 모두 지원하도록 빌드됩니다. 앱이 32비트 모드만 지원하는 경우(예를 들어 32비트 바이너리만 제공하는 라이브러리를 사용하는 경우) 사용되지 않는 ML Kit 라이브러리를 빌드에서 제외할 수 있습니다.

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