अपने ML Kit Android ऐप्लिकेशन के APKs का साइज़ कम करना

डिवाइस पर एमएल किट का इस्तेमाल करने वाला ऐप्लिकेशन बनाने से पहले, अपने वीडियो का डाउनलोड साइज़ कम करने के लिए, इस पेज पर दी गई सलाह अपनाएं है.

अपने ऐप्लिकेशन को 'Android ऐप्लिकेशन बंडल' के तौर पर बनाएं

अपना ऐप्लिकेशन Android ऐप्लिकेशन बंडल के तौर पर बनाएं और डिप्लॉय करें. इससे Google Play किसी खास स्क्रीन डेंसिटी और सीपीयू के लिए, APK अपने-आप जनरेट कर सकता है डिज़ाइन, और भाषाएं शामिल हैं. उपयोगकर्ताओं को सिर्फ़ ऐसे APKs डाउनलोड करने होंगे वे अपने उपकरण कॉन्फ़िगरेशन से मेल खाते हों और सबसे महत्वपूर्ण बात यह है कि उपयोगकर्ता केवल नेटिव कोड लाइब्रेरी की सुविधा देता है, जो उनके डिवाइस के आर्किटेक्चर से मेल खाती हैं.

बेहतर सुविधाएं: मशीन लर्निंग की वैकल्पिक सुविधाओं को डाइनैमिक फ़ीचर मॉड्यूल पर ले जाना

अगर आपके ऐप्लिकेशन की किसी ऐसी सुविधा में एमएल किट का इस्तेमाल किया जाता है जो उसका मुख्य मकसद नहीं है, तो उस सुविधा और उसके एमएल किट को ट्रांसफ़र करने के लिए, अपने ऐप्लिकेशन को रीफ़ैक्टर करें ये सुविधाएं डाइनैमिक सुविधा मॉड्यूल पर निर्भर करती हैं.

ML Kit की सुविधाओं को मांग पर उपलब्ध फ़ीचर मॉड्यूल में इस्तेमाल करने के लिए, आपके बेस apk की build.gradle फ़ाइल में, इसमें ML Kit Playstore की डाइनैमिक सुविधा, और लाइब्रेरी डिपेंडेंसी शामिल है.

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

ऐसा करने से, उपयोगकर्ताओं को आपके ऐप्लिकेशन के मशीन लर्निंग मॉडल (एमएल) मॉडल डाउनलोड करने से रोका जा सकता है. इन मामलों में, बड़ा.

बेहतर सेटिंग: इस्तेमाल न की गई ML किट बाइनरी फ़ाइल को शामिल न करें

ML Kit को 32-बिट और 64-बिट, दोनों आर्किटेक्चर पर काम करने के लिए बनाया गया है. अगर आपने आपका ऐप्लिकेशन सिर्फ़ 32-बिट मोड पर काम करता है—उदाहरण के लिए, अगर आपने किसी लाइब्रेरी का इस्तेमाल किया है, जो सिर्फ़ 32-बिट बाइनरी उपलब्ध कराता है. इस्तेमाल न की गई ML किट को हटाया जा सकता है आपके बिल्ड से लाइब्रेरी:

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