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

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

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

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

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

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

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

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

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

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

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

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