تقليل حجم حِزم APK في تطبيق ML Kit لنظام التشغيل Android

قبل نشر تطبيق يستخدم حزمة تعلُّم الآلة على الجهاز في مرحلة الإنتاج، ننصحك باتّباع النصائح الواردة في هذه الصفحة لتقليل حجم تنزيل التطبيق.

إنشاء تطبيقك على أنّه "مجموعة حزمات تطبيق Android"

أنشئ تطبيقك وانشره على أنه مجموعة حزمات تطبيق Android حتى يتمكّن Google Play من إنشاء حِزم APK تلقائيًا لشاشات محددة وبنيات وحدة المعالجة المركزية واللغات. وعلى المستخدمين فقط تنزيل حِزم APK التي تتطابق مع إعدادات أجهزتهم، والأهم من ذلك، ألا ينزِّل المستخدمون مكتبات الرموز البرمجية الأصلية التي تتطابق مع بنية أجهزتهم.

الإعدادات المتقدّمة: نقل ميزات تعلُّم الآلة الاختيارية إلى وحدات الميزات الديناميكية

إذا كنت تستخدم أدوات تعلّم الآلة في ميزة من ميزات تطبيقك ليست الغرض الأساسي منها، يمكنك إعادة تنظيم تطبيقك لنقل هذه الميزة وملحقاتها التابعة لحزمة تعلُّم الآلة إلى وحدة ميزات ديناميكية.

لكي تعمل ميزات تعلُّم الآلة في وحدة ميزات عند الطلب، في ملف build.gradle الأساسي لملف APK، يجب تضمين اعتمادية مكتبة دعم ميزات "متجر Play" الديناميكية لـ ML Kit.

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

وبذلك، ستمنع المستخدمين من تنزيل نماذج تعلُّم الآلة الخاصة بتطبيقك بشكل غير ضروري، والتي يمكن أن تكون كبيرة.

الإعدادات المتقدّمة: استبعاد البرامج الثنائية غير المستخدَمة في أدوات تعلّم الآلة

تم تصميم مجموعة تعلّم الآلة مع دعم لكل من البُنى الأساسية 32 بت و64 بت. إذا كان تطبيقك لا يتوافق إلا مع وضع 32 بت، على سبيل المثال، إذا كنت تستخدم مكتبة توفّر برامج ثنائية بحجم 32 بت فقط، يمكنك استبعاد مكتبات ML Kit غير المستخدَمة من إصدارك:

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