अगर आपको प्रोडक्शन ट्रैक पर ऐसा ऐप्लिकेशन डिप्लॉय करना है जो ML Kit के ऑन-डिवाइस मॉडल का इस्तेमाल करता है, तो हमारा सुझाव है कि आप इस पेज पर दी गई सलाह को अपनाएं. इससे आपके ऐप्लिकेशन का डाउनलोड साइज़ कम हो जाएगा.
अपने ऐप्लिकेशन को Android ऐप्लिकेशन बंडल के तौर पर बनाना
अपने ऐप्लिकेशन को Android ऐप्लिकेशन बंडल के तौर पर बनाएं और डिप्लॉय करें, ताकि Google Play खास स्क्रीन डेंसिटी, सीपीयू आर्किटेक्चर, और भाषाओं के लिए APK अपने-आप जनरेट कर सके. लोगों को सिर्फ़ वे APK डाउनलोड करने होंगे जो उनके डिवाइस के कॉन्फ़िगरेशन से मेल खाते हैं. साथ ही, लोगों को सिर्फ़ वे नेटिव कोड लाइब्रेरी डाउनलोड करनी होंगी जो उनके डिवाइस के आर्किटेक्चर से मेल खाती हैं.
ऐडवांस: एमएल की वैकल्पिक सुविधाओं को डाइनैमिक फ़ीचर मॉड्यूल में ले जाना
अगर आपने अपने ऐप्लिकेशन की किसी ऐसी सुविधा में ML Kit का इस्तेमाल किया है जो उसका मुख्य मकसद नहीं है, तो अपने ऐप्लिकेशन को फिर से फ़ैक्टर करने पर विचार करें. इससे उस सुविधा और उसकी ML Kit डिपेंडेंसी को डाइनैमिक फ़ीचर मॉड्यूल में ले जाया जा सकता है.
मांग पर उपलब्ध सुविधा वाले मॉड्यूल में ML Kit की सुविधाओं का इस्तेमाल करने के लिए, अपने बेस APK की build.gradle
फ़ाइल में, ML Kit की Play Store पर डाइनैमिक सुविधा के साथ काम करने वाली लाइब्रेरी की डिपेंडेंसी शामिल करें.
dependencies { // ... implementation 'com.google.mlkit:playstore-dynamic-feature-support:16.0.0-beta2' }
ऐसा करने से, उपयोगकर्ताओं को आपके ऐप्लिकेशन के एमएल मॉडल को गैर-ज़रूरी तौर पर डाउनलोड करने से रोका जा सकता है. ये मॉडल बड़े हो सकते हैं.
ऐडवांस: इस्तेमाल नहीं की गई ML Kit बाइनरी को बाहर रखें
ML Kit को 32-बिट और 64-बिट, दोनों आर्किटेक्चर के साथ काम करने के लिए बनाया गया है. अगर आपका ऐप्लिकेशन सिर्फ़ 32-बिट मोड के साथ काम करता है, तो इस्तेमाल न की गई ML Kit लाइब्रेरी को अपने बिल्ड से हटाया जा सकता है. उदाहरण के लिए, अगर आपने ऐसी लाइब्रेरी का इस्तेमाल किया है जो सिर्फ़ 32-बिट बाइनरी उपलब्ध कराती है, तो यह तरीका अपनाएं:
android { defaultConfig { ndk { // Don't package arm64-v8a or x86_64 abiFilters 'armeabi-v7a', 'x86' } } }