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 Playstore 동적 기능 지원 라이브러리 종속 항목을 포함합니다.

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'
      }
  }
}