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

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

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

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

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

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

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

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