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

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

إنشاء تطبيقك كمجموعة حزمات تطبيق Android

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

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

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

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

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

ومن خلال إجراء ذلك، سيتم منع المستخدمين من تنزيل نماذج تعلُّم الآلة في تطبيقك بدون داعٍ، والتي يمكن كَبِيرَة

الإعدادات المتقدّمة: استبعاد البرامج الثنائية (ML Kit) غير المستخدَمة

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

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