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

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

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

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

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

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

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

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