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

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

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

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

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

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

لكي تعمل ميزات ML Kit في وحدة ميزة عند الطلب، يجب تضمين تبعية مكتبة دعم الميزات الديناميكية في Play Store الخاصة بـ ML Kit في ملف build.gradle لحزمة APK الأساسية.

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

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

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

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

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