আপনার ML কিট অ্যান্ড্রয়েড অ্যাপের APK-এর আকার কমিয়ে দিন

এমএল কিট অন-ডিভাইস মডেল ব্যবহার করে এমন কোনো অ্যাপ প্রোডাকশনে ডেপ্লয় করার আগে, আপনার অ্যাপের ডাউনলোড সাইজ কমানোর জন্য এই পৃষ্ঠার পরামর্শগুলো অনুসরণ করার কথা বিবেচনা করুন।

আপনার অ্যাপটিকে একটি অ্যান্ড্রয়েড অ্যাপ বান্ডেল হিসেবে তৈরি করুন।

আপনার অ্যাপটিকে একটি অ্যান্ড্রয়েড অ্যাপ বান্ডেল হিসেবে তৈরি ও স্থাপন করুন, যাতে গুগল প্লে নির্দিষ্ট স্ক্রিন ডেনসিটি, সিপিইউ আর্কিটেকচার এবং ভাষার জন্য স্বয়ংক্রিয়ভাবে এপিকে তৈরি করতে পারে। ব্যবহারকারীদের কেবল তাদের ডিভাইসের কনফিগারেশনের সাথে মেলে এমন এপিকে ডাউনলোড করতে হবে এবং সবচেয়ে গুরুত্বপূর্ণ বিষয় হলো, ব্যবহারকারীরা কেবল তাদের ডিভাইসের আর্কিটেকচারের সাথে মেলে এমন নেটিভ কোড লাইব্রেরিগুলোই ডাউনলোড করবেন।

উন্নত: ঐচ্ছিক এমএল ফিচারগুলোকে ডাইনামিক ফিচার মডিউলে স্থানান্তর করুন

আপনার অ্যাপের যে ফিচারটির মূল উদ্দেশ্য নয়, সেখানে যদি আপনি এমএল কিট (ML Kit) ব্যবহার করেন, তবে সেই ফিচারটি এবং তার এমএল কিট নির্ভরতাগুলোকে একটি ডাইনামিক ফিচার মডিউলে সরিয়ে নেওয়ার জন্য আপনার অ্যাপটি রিফ্যাক্টরিং করার কথা বিবেচনা করুন।

অন-ডিমান্ড ফিচার মডিউলে এমএল কিট ফিচারগুলো কাজ করানোর জন্য, আপনার বেস এপিকে-র build.gradle ফাইলে এমএল কিট প্লেস্টোর ডাইনামিক ফিচার সাপোর্ট লাইব্রেরি ডিপেন্ডেন্সিটি অন্তর্ভুক্ত করুন।

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

এর মাধ্যমে, আপনি ব্যবহারকারীদের আপনার অ্যাপের এমএল মডেলগুলো অপ্রয়োজনীয়ভাবে ডাউনলোড করা থেকে বিরত রাখতে পারেন, যেগুলো আকারে বড় হতে পারে।

উন্নত: অব্যবহৃত এমএল কিট বাইনারিগুলি বাদ দিন

এমএল কিট ৩২-বিট এবং ৬৪-বিট উভয় আর্কিটেকচার সমর্থন করে তৈরি করা হয়েছে। যদি আপনার অ্যাপটি শুধুমাত্র ৩২-বিট মোড সমর্থন করে—উদাহরণস্বরূপ, কারণ আপনি এমন একটি লাইব্রেরি ব্যবহার করছেন যা কেবল ৩২-বিট বাইনারি সরবরাহ করে—তাহলে আপনি আপনার বিল্ড থেকে অব্যবহৃত এমএল কিট লাইব্রেরিগুলো বাদ দিতে পারেন:

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