הקטנת גודל ה-APKs של אפליקציית ML Kit ל-Android

לפני שפורסים בסביבת הייצור אפליקציה שמשתמשת במודל במכשיר של ML Kit, כדאי לפעול לפי העצות שבדף הזה כדי להקטין את גודל ההורדה של האפליקציה.

יוצרים את האפליקציה כקובץ Android App Bundle

מפתחים ומפיצים את האפליקציה כ-Android App Bundle כדי שמערכת Google Play תוכל ליצור באופן אוטומטי קובצי APK לצפיפויות מסך, לארכיטקטורות מעבד (CPU) ולשפות ספציפיות. המשתמשים יצטרכו להוריד רק את קובצי ה-APK שתואמים לתצורת המכשיר שלהם, והכי חשוב – המשתמשים יורידו רק את ספריות קוד Native שתואמות לארכיטקטורת המכשיר שלהם.

מתקדם: העברת תכונות אופציונליות של למידת מכונה למודולים של תכונות דינמיות

אם אתם משתמשים ב-ML Kit בתכונה של האפליקציה שהיא לא המטרה העיקרית שלה, כדאי לשקול לארגן את הקוד מחדש באפליקציה כדי להעביר את התכונה הזו ואת יחסי התלות שלה ב-ML Kit למודול של תכונות דינמיות.

כדי שהתכונות של ML Kit יפעלו במודול של תכונות על פי דרישה, צריך לכלול את יחסי התלות של ספריית התמיכה בתכונות הדינמיות של חנות Play ב-ML Kit בקובץ build.gradle של ה-APK הבסיסי.

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

כך אתם מונעים מהמשתמשים להוריד שלא לצורך את המודלים של למידת המכונה של האפליקציה, שיכולים להיות גדולים.

למתקדמים: החרגת קובצי בינארי של ML Kit שלא בשימוש

ערכת ML Kit תומכת בארכיטקטורות של 32 ביט ו-64 ביט. אם האפליקציה תומכת רק במצב 32 ביט, לדוגמה כי אתם משתמשים בספרייה שמספקת רק קובצי בינארי של 32 ביט, אתם יכולים להחריג מה-build את הספריות של ML Kit שלא בשימוש:

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