अपने ऐप्लिकेशन का आकार कम करना

लोग अक्सर ऐसे ऐप्लिकेशन डाउनलोड करने से बचते हैं जो बहुत बड़े लगते हैं. खास तौर पर, उन देशों में जहां उभरते हुए ऐप्लिकेशन इस्तेमाल किए जाते हैं डिवाइस, तेज़ 2G और 3G नेटवर्क से कनेक्ट होते हैं या डेटा सीमा वाले प्लान पर काम करते हैं. इस पेज में बताया गया है कि अपने ऐप्लिकेशन के डाउनलोड साइज़ को कैसे कम करें, इससे ज़्यादा लोग आपका ऐप्लिकेशन डाउनलोड कर सकते हैं.

'Android ऐप्लिकेशन बंडल' के साथ अपना ऐप्लिकेशन अपलोड करना

अपने ऐप्लिकेशन को Android ऐप्लिकेशन बंडल के तौर पर अपलोड करें, ताकि ऐप्लिकेशन का साइज़ सेव करने के लिए भी किया जा सकता है. 'Android ऐप्लिकेशन बंडल' अपलोड करने का एक ऐसा फ़ॉर्मैट है जिसमें आपके ऐप्लिकेशन के सभी इकट्ठा किए गए कोड और संसाधन, लेकिन APK जनरेट करने और Google Play में साइन इन करने में रुकावट डालते हैं.

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

Google Play, कंप्रेस की गई डाउनलोड को लागू करता है ऐप्लिकेशन बंडल के साथ पब्लिश किए गए ऐप्लिकेशन के लिए, 200 एमबी का साइज़ से जुड़ी पाबंदी. बड़े आकार 'Play Feature Delivery' और 'Play ऐसेट डिलीवरी' जैसी सुविधाओं का इस्तेमाल करके किया जा सकता है. हालांकि, अपने ऐप्लिकेशन का साइज़ बढ़ाकर इंस्टॉल की सफलता पर बुरा असर पड़ता है और अनइंस्टॉल की संख्या बढ़ती है. इसलिए, हमारा सुझाव है कि आप डाउनलोड के साइज़ को जितना हो सके उतना कम करने के लिए, इस पेज पर कुछ दिशा-निर्देश दिए गए हैं.

APK के स्ट्रक्चर को समझना

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

किसी APK में ये डायरेक्ट्री शामिल होती हैं:

  • META-INF/: इसमें CERT.SF और CERT.RSA हस्ताक्षर हैं और MANIFEST.MF मेनिफ़ेस्ट फ़ाइल भी डाउनलोड की जा सकती है.
  • assets/: इसमें ऐप्लिकेशन की ऐसेट शामिल होती हैं, जिन्हें ऐप्लिकेशन AssetManager ऑब्जेक्ट है.
  • res/: इसमें ऐसे संसाधन शामिल हैं जिन्हें कंपाइल नहीं किया जाता resources.arsc.
  • lib/: इसमें कंपाइल किया गया कोड शामिल होता है, जो किसी सॉफ़्टवेयर लेयर की सॉफ़्टवेयर लेयर के लिए खास होता है प्रोसेसर चुनें. इस डायरेक्ट्री में, हर प्लैटफ़ॉर्म टाइप के लिए एक सबडायरेक्ट्री होती है, जैसे कि armeabi, armeabi-v7a, arm64-v8a, x86, x86_64, और mips.

किसी APK में ये फ़ाइलें भी शामिल होती हैं. सिर्फ़ AndroidManifest.xml ज़रूरी है:

  • resources.arsc: इसमें इकट्ठा किए गए संसाधन शामिल हैं. इस फ़ाइल में एक्सएमएल कॉन्टेंट है res/values/ फ़ोल्डर के सभी कॉन्फ़िगरेशन से. पैकेजिंग टूल इसे एक्सट्रैक्ट करता है एक्सएमएल कॉन्टेंट, इसे बाइनरी फ़ॉर्म में कंपाइल करता है, और कॉन्टेंट को संग्रहित करता है. इस कॉन्टेंट में भाषा शामिल है स्ट्रिंग और स्टाइल के साथ-साथ उस कॉन्टेंट के पाथ को भी शामिल कर सकता है जो resources.arsc फ़ाइल, जैसे कि लेआउट फ़ाइलें और इमेज.
  • classes.dex: इसमें DEX फ़ाइल फ़ॉर्मैट में इकट्ठा की गई क्लास शामिल हैं, जिन्हें इनकी समझ है डाल्विक या एआरटी वर्चुअल मशीन के तौर पर इस्तेमाल किया जा सकता है.
  • AndroidManifest.xml: इसमें मुख्य Android मेनिफ़ेस्ट फ़ाइल शामिल है. इस फ़ाइल में ऐप्लिकेशन की पहचान फ़ाइलें, वर्शन, ऐक्सेस के अधिकार, और रेफ़रंस के तौर पर दी गई लाइब्रेरी की फ़ाइलें. फ़ाइल Android के बाइनरी एक्सएमएल फ़ॉर्मैट.

संसाधनों की संख्या और साइज़ कम करें

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

इस्तेमाल न किए गए संसाधनों को हटाएं

lint टूल—एक स्टैटिक कोड ऐनालाइज़र Android Studio में शामिल है—आपके res/ फ़ोल्डर में मौजूद उन संसाधनों का पता लगाता है जो आपके कोड में मौजूद हैं संदर्भ नहीं देता है. जब lint टूल को ऐसे संसाधन का पता चलता है जो इस्तेमाल नहीं किया गया है प्रोजेक्ट है, तो यह मैसेज को प्रिंट करता है. इसका उदाहरण नीचे दिया गया है:

res/layout/preferences.xml: Warning: The resource R.layout.preferences appears
    to be unused [UnusedResources]

कोड में जोड़ी जाने वाली लाइब्रेरी में, इस्तेमाल न किए गए संसाधन हो सकते हैं. Gradle अपने-आप काम कर सकता है अगर इस टूल को चालू किया जाता है, तो अपनी ओर से संसाधनों को हटाया जा सकता है shrinkResources आपके ऐप्लिकेशन की build.gradle.kts फ़ाइल.

Kotlin

android {
    // Other settings.

    buildTypes {
        getByName("release") {
            minifyEnabled = true
            shrinkResources = true
            proguardFiles(getDefaultProguardFile('proguard-android.txt'), "proguard-rules.pro")
        }
    }
}

ग्रूवी

android {
    // Other settings.

    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

shrinkResources का इस्तेमाल करने के लिए, कोड छोटा करने की सुविधा चालू करें. बिल्ड प्रोसेस के दौरान, R8 पहले इस्तेमाल न होने वाले कोड को हटा देता है. इसके बाद, 'Android Gradle प्लग इन', इस्तेमाल नहीं किए गए संसाधनों को हटा देता है.

कोड और रिसॉर्स के इस्तेमाल को छोटा करने के बारे में ज़्यादा जानकारी पाने और Android Studio की मदद से APK का साइज़, अपने ऐप्लिकेशन का साइज़ छोटा करना, उसे अस्पष्ट बनाना, और उसे ऑप्टिमाइज़ करना देखें.

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

लाइब्रेरी के संसाधन का इस्तेमाल कम से कम करें

जब आप कोई Android ऐप्लिकेशन बनाते हैं, तो आप आम तौर पर अपने ऐप्लिकेशन की कई तरीकों से जांच की जा सकती है. उदाहरण के लिए, आप AndroidX का रेफ़रंस दे सकते हैं . वापस पाने के लिए, Google Play services आपके ऐप में लेख के लिए अपने आप अनुवाद की सुविधा मिलती है.

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

ऐनिमेशन वाली नेटिव इमेज को डिकोड करना

Android 12 (एपीआई लेवल 31) में, NDK ImageDecoder एपीआई को डिकोड करने के लिए बड़ा किया गया है ऐनिमेशन वाले GIF और ऐनिमेशन वाले WebP फ़ाइल फ़ॉर्मैट का इस्तेमाल करने वाली इमेज के सभी फ़्रेम और समय का डेटा.

आगे बढ़ने के लिए, तीसरे पक्ष की लाइब्रेरी के बजाय ImageDecoder का इस्तेमाल करें APK का साइज़ कम करें और आने वाले समय में इसका फ़ायदा पाएं सुरक्षा और परफ़ॉर्मेंस से जुड़े अपडेट.

ImageDecoder एपीआई के बारे में ज़्यादा जानकारी के लिए, यहां जाएं: API reference और सैंपल GitHub पर.

सिर्फ़ खास डेंसिटी के साथ काम करें

Android पर अलग-अलग स्क्रीन डेंसिटी का इस्तेमाल किया जा सकता है. जैसे:

  • ldpi
  • mdpi
  • tvdpi
  • hdpi
  • xhdpi
  • xxhdpi
  • xxxhdpi

हालांकि, Android पर पहले के डेंसिटी का इस्तेमाल किया जा सकता है, लेकिन आपको रास्टराइज़्ड डेंसिटी को एक्सपोर्ट करने की ज़रूरत नहीं है. हर डेंसिटी के लिए ऐसेट.

अगर आपको पता है कि आपके कुछ ही उपयोगकर्ताओं के पास खास तरह की डेंसिटी वाले डिवाइस हैं, तय करें कि आपको इन डेंसिटी को अपने ऐप्लिकेशन में बंडल करना है या नहीं. अगर आप संसाधन शामिल नहीं करते हैं किसी खास स्क्रीन सघनता के लिए, Android अपने-आप डिज़ाइन किए गए मौजूदा संसाधनों की स्केलिंग करता है का इस्तेमाल करें.

अगर आपको अपने ऐप्लिकेशन के लिए सिर्फ़ स्केल की गई इमेज की ज़रूरत है, तो आप इमेज के एक ही वैरिएंट का इस्तेमाल करके और भी ज़्यादा जगह बचा सकते हैं drawable-nodpi/ में एक इमेज. हम आपको कम से कम एक xxhdpi शामिल करने का सुझाव देते हैं इमेज के अलग-अलग वैरिएंट को शामिल करें.

स्क्रीन की डेंसिटी के बारे में ज़्यादा जानने के लिए, यहां देखें स्क्रीन का साइज़ और डेंसिटी.

ड्रॉ करने लायक ऑब्जेक्ट का इस्तेमाल करना

कुछ इमेज के लिए, स्टैटिक इमेज रिसॉर्स की ज़रूरत नहीं होती. फ़्रेमवर्क डाइनैमिक रूप से इमेज बना सकता है इस्तेमाल करने के बजाय, रनटाइम पर ऐसा करें. Drawable ऑब्जेक्ट—या <shape> इंच एक्सएमएल—आपके APK में बहुत कम जगह ले सकता है. इसके अलावा, एक्सएमएल Drawable ऑब्जेक्ट, एक ही रंग की इमेज बना रहे हैं जो मटीरियल डिज़ाइन के दिशा-निर्देशों का पालन करती हैं.

संसाधनों का फिर से इस्तेमाल करें

आप किसी इमेज के अलग-अलग वर्शन के लिए एक अलग संसाधन शामिल कर सकते हैं, जैसे कि टिंटेड, शेड्ड या एक ही चित्र के घुमाए गए वर्शन. हालांकि, हमारा सुझाव है कि आप संसाधनों का एक ही सेट फिर से इस्तेमाल करें और रनटाइम के दौरान ज़रूरत के मुताबिक बनाया जा सकता है.

Android, किसी ऐसेट का रंग बदलने के लिए कई सुविधाएं देता है. इन टूल का इस्तेमाल करके android:tint और tintMode एट्रिब्यूट.

उन संसाधनों को भी छोड़ा जा सकता है जो किसी दूसरे संसाधन की तरह सिर्फ़ रोटेट किए जाते हैं. नीचे दिए गए कोड स्निपेट "थंब अप" को चालू करने का एक उदाहरण देता है "थंब डाउन" में बदलो डाइग्नोस्टिक टूल के ज़रिए, चित्र के मध्य में और उसे 180 डिग्री घुमाना:

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/ic_thumb_up"
    android:pivotX="50%"
    android:pivotY="50%"
    android:fromDegrees="180" />

कोड से रेंडर करें

अपने इमेज को सिलसिलेवार तरीके से रेंडर करके, APK का साइज़ भी कम किया जा सकता है. प्रोसीजरल रेंडरिंग जगह खाली करता है क्योंकि अब आप अपने APK में इमेज फ़ाइल सेव नहीं करते हैं.

PNG फ़ाइलें क्रंच करें

aapt टूल, res/drawable/ में रखे गए इमेज रिसॉर्स को ऑप्टिमाइज़ कर सकता है कंप्रेस करने से बचें. उदाहरण के लिए, aapt टूल ये काम कर सकता है उस PNG फ़ॉर्मैट को बदलें जिसमें 256 से ज़्यादा रंगों की ज़रूरत न हो पैलेट का इस्तेमाल किया जा सकता है. ऐसा करने से, बराबर क्वालिटी की इमेज मिलेगी, लेकिन मेमोरी फ़ुटप्रिंट कम हो जाएगा.

aapt की सीमाएं नीचे दी गई हैं:

  • aapt टूल, asset/ में मौजूद PNG फ़ाइलों को छोटा नहीं करता फ़ोल्डर खोलें.
  • aapt टूल ऑप्टिमाइज़ करने के लिए, इमेज फ़ाइलों में 256 या इससे कम रंग इस्तेमाल करें उन्हें.
  • aapt टूल, पहले से कंप्रेस की गई PNG फ़ाइलों को बढ़ा सकता है. बचाव के लिए इसके बाद, PNG फ़ाइलों के लिए इस प्रोसेस को बंद करने के लिए, isCrunchPngs फ़्लैग का इस्तेमाल किया जा सकता है:
  • Kotlin

        buildTypes.all { isCrunchPngs = false }
        

    ग्रूवी

        buildTypes.all { isCrunchPngs = false }
        

PNG और JPEG फ़ॉर्मैट में फ़ाइलें कंप्रेस करें

इन टूल का इस्तेमाल करके, इमेज क्वालिटी को खोए बिना PNG फ़ाइल का साइज़ कम किया जा सकता है pngcrush, pngquant या zopflipng. ये सभी टूल PNG फ़ाइल के साइज़ को कम कर सकता है और साफ़ तौर पर दिखने वाली इमेज की क्वालिटी को बनाए रखता है.

pngcrush टूल खास तौर पर असरदार है. यह टूल, PNG फ़िल्टर और इमेज को कंप्रेस करने के लिए, फ़िल्टर और पैरामीटर के हर कॉम्बिनेशन का इस्तेमाल करके zlib (Deflate) पैरामीटर. इसके बाद, यह उस कॉन्फ़िगरेशन को चुनता है जो सबसे छोटा कंप्रेस किया गया आउटपुट देता है.

JPEG फ़ाइलों को कंप्रेस करने के लिए, packJPG और guetzli जैसे टूल इस्तेमाल किए जा सकते हैं.

WebP फ़ाइल फ़ॉर्मैट का इस्तेमाल करना

PNG या JPEG फ़ाइलों का इस्तेमाल करने के बजाय, आपकी इमेज के लिए WebP फ़ाइल फ़ॉर्मैट. WebP फ़ॉर्मैट, JPG और PNG जैसे नुकसान पहुंचाने वाले कंप्रेस करने और पारदर्शिता बनाए रखने की सुविधा देता है. साथ ही, यह JPEG या PNG फ़ॉर्मैट में कंप्रेस करना.

Android Studio का इस्तेमाल करके, मौजूदा BMP, JPG, PNG या स्टैटिक GIF इमेज को WebP फ़ॉर्मैट में बदला जा सकता है. ज़्यादा जानकारी के लिए, WebP इमेज बनाना लेख पढ़ें.

वेक्टर ग्राफ़िक का इस्तेमाल करें

रिज़ॉल्यूशन-इंडिपेंडेंट आइकॉन और अन्य स्केलेबल मीडिया बनाने के लिए, वेक्टर ग्राफ़िक का इस्तेमाल किया जा सकता है. आपके APK फ़ुटप्रिंट को काफ़ी हद तक कम करने के लिए, इन ग्राफ़िक्स का इस्तेमाल किया जा सकता है. वेक्टर इमेज इसमें दिखाई गई हैं Android के तौर पर VectorDrawable अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऑब्जेक्ट हैं. VectorDrawable ऑब्जेक्ट के साथ, 100 बाइट वाली फ़ाइल से एक शार्प इमेज जनरेट हो सकती है स्क्रीन का साइज़.

हालांकि, हर एक इमेज को रेंडर करने में सिस्टम को ज़्यादा समय लगता है VectorDrawable ऑब्जेक्ट और बड़ी इमेज को स्क्रीन पर दिखने में ज़्यादा समय लगता है. इसलिए, छोटी इमेज दिखाते समय ही इन वेक्टर ग्राफ़िक का इस्तेमाल करें.

VectorDrawable ऑब्जेक्ट के साथ काम करने के बारे में ज़्यादा जानने के लिए, देखें ड्रॉ करने लायक चीज़ें.

ऐनिमेशन वाली इमेज के लिए वेक्टर ग्राफ़िक का इस्तेमाल करें

इस्तेमाल न करें AnimationDrawable अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है क्योंकि ऐसा करने के लिए आपको एक अलग बिटमैप शामिल करना होगा. फ़ाइल का उपयोग करता है, जो आपके APK का आकार बहुत ज़्यादा बढ़ा देता है.

इसके बजाय, बनाने के लिए AnimatedVectorDrawableCompat ऐनिमेटेड वेक्टर ड्रॉबल.

नेटिव और Java कोड कम करें

आप नीचे दिए गए तरीकों का इस्तेमाल करके, अपने ब्राउज़र में Java और नेटिव कोड बेस का साइज़ कम कर सकते हैं है.

जनरेट किए गए ग़ैर-ज़रूरी कोड हटाएं

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

गिनती से बचें

एक ईनम से आपके ऐप्लिकेशन की classes.dex फ़ाइल का साइज़ करीब 1.0 से 1.4 केबी तक हो सकता है. ये अतिरिक्त चीज़ें जटिल सिस्टम या शेयर की गई लाइब्रेरी के लिए तेज़ी से इकट्ठा हो सकती हैं. अगर हो सके, तो @IntDef एनोटेशन और कोड छोटा करने की सुविधा का इस्तेमाल करके गणनाओं को बाहर निकालने और उन्हें पूर्णांक में बदलने के लिए. इस प्रकार का रूपांतरण ईनम के प्रकार सुरक्षा से जुड़े फ़ायदे हैं.

नेटिव बाइनरी का साइज़ कम करें

अगर आपका ऐप्लिकेशन, नेटिव कोड और Android एनडीके (NDK) का इस्तेमाल करता है, तो रिलीज़ का साइज़ भी कम किया जा सकता है अपने ऐप्लिकेशन के वर्शन के लिए उसे ऑप्टिमाइज़ करें. ये दो उपयोगी तकनीकें हैं: डीबग सिंबल और जिसमें नेटिव लाइब्रेरी को एक्सट्रैक्ट नहीं किया जा रहा है.

डीबग सिंबल हटाना

अगर आपके ऐप्लिकेशन पर अभी काम चल रहा है और फिर भी उसे डीबग करने की ज़रूरत है, तो डीबग सिंबल का इस्तेमाल करना सही रहेगा. इस्तेमाल की जाने वाली चीज़ें गै़र-ज़रूरी डीबग को हटाने के लिए, Android एनडीके में दिया गया arm-eabi-strip टूल चिह्नों का इस्तेमाल करें. इसके बाद, अपने रिलीज़ बिल्ड को इकट्ठा किया जा सकता है.

नेटिव लाइब्रेरी एक्सट्रैक्ट करने से बचें

अपने ऐप्लिकेशन का रिलीज़ वर्शन बनाते समय, कंप्रेस की गई .so फ़ाइलों को सेटिंग के हिसाब से APK useLegacyPackaging ऐप्लिकेशन की build.gradle.kts फ़ाइल में false को अपडेट करें. इस फ़्लैग को बंद करने से, PackageManager से इंस्टॉल करने के दौरान, APK से फ़ाइल सिस्टम में .so फ़ाइलें कॉपी की जा रही है. इस तरीके से आपके ऐप्लिकेशन के अपडेट कम होंगे.

कई आसान APK मैनेज करना

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

अगर ऐप्लिकेशन को Google Play पर पब्लिश नहीं किया जा रहा है, तो अपने ऐप्लिकेशन को कई APKs में सेगमेंट किया जा सकता है, कई चीज़ों के आधार पर तय किया जाता है. जैसे, स्क्रीन का साइज़ या जीपीयू टेक्सचर सपोर्ट.

जब कोई उपयोगकर्ता आपके ऐप्लिकेशन को डाउनलोड करता है, तो उसके डिवाइस को डिवाइस के हिसाब से सही APK मिलता है सुविधाएं और सेटिंग. इस तरह, डिवाइसों को उन सुविधाओं के लिए ऐसेट नहीं मिलेंगी जो डिवाइस को नहीं मिलतीं हैं. उदाहरण के लिए, अगर किसी उपयोगकर्ता के पास hdpi डिवाइस है, तो उसे xxxhdpi की ज़रूरत नहीं होती है ऐसे संसाधन जिन्हें शायद आप ज़्यादा सघनता वाले डिसप्ले वाले डिवाइसों के लिए शामिल कर सकते हैं.

ज़्यादा जानकारी के लिए, एक से ज़्यादा बनाएं APK और एक से ज़्यादा APK काम करते हैं.