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

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

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

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

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

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

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

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

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

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

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

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