לפני שפורסים לגרסת הייצור אפליקציה שמשתמשת במודל במכשיר של ML Kit, כדאי לפעול לפי ההמלצות בדף הזה כדי לצמצם את גודל ההורדה של האפליקציה.
פיתוח האפליקציה כקובץ Android App Bundle
כדאי ליצור ולפרוס את האפליקציה כקובץ Android App Bundle כדי שמערכת Google Play תוכל ליצור באופן אוטומטי קובצי APK לצפיפות מסך, לארכיטקטורות CPU ולשפות ספציפיות. המשתמשים יצטרכו להוריד רק את קובצי ה-APK שתואמים לתצורת המכשיר שלהם, וחשוב מכך, המשתמשים יורידו רק את ספריות קוד Native שתואמות לארכיטקטורת המכשיר שלהם.
מתקדם: העברת תכונות אופציונליות של ML למודולים דינמיים של תכונות
אם אתם משתמשים ב-ML Kit בתכונה של האפליקציה שלא משמשת למטרה העיקרית שלה, כדאי לשקול לבצע רפקטורינג באפליקציה כדי להעביר את התכונה הזו ואת התלות שלה ב-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' } } }