2017-10-18 25 views
9

कुछ समय पहले मैंने अपने ऐप का बीटा संस्करण जारी किया था और इसे एपीके विस्तार फ़ाइल से जोड़ा था। फिर मैं फ़ाइलों को छूए बिना अपना एपीके अपडेट करना चाहता था और निम्नलिखित किया:बीटा में रिलीज एपीके विस्तार फ़ाइलों और रिलीज संस्करण

मेरे ऐप का संस्करण कोड 7 था और प्रदाता के पास यह मान भी था। प्रदाता मेरी प्रकट में ऐसा दिखाई देता है:

<provider 
    android:name=".expansion.MyApezProvider" 
    android:authorities="com.bla.blabla" 
    android:exported="false" 
    android:multiprocess="true" 
> 
    <meta-data 
     android:name="mainVersion" 
     android:value="7"> 
    </meta-data> 
</provider> 

और यहाँ मेरी डाउनलोडर गतिविधि का एक टुकड़ा है:

private static final XAPKFile[] xAPKS = {new XAPKFile(true, // true signifies a main file 
     7, // the version of the APK that the file was uploaded 
     383989643L // the length of the file in bytes 
)}; 

मैं केवल 8 7 से प्रकट में संस्करण कोड मूल्य वृद्धि की जाती है। क्योंकि मैं विस्तार फ़ाइल को छूना नहीं चाहता था। इसलिए प्रदाता और डाउनलोडर गतिविधि में मूल्य अभी भी 7.

मैंने नई एपीके फ़ाइल अपलोड की है और अपलोड की गई एपीके विस्तार फ़ाइल को फिर से नहीं चुना है। लेकिन यह काम नहीं किया। उपयोगकर्ताओं को नए संस्करण में अपडेट करने के बाद ऐप में वीडियो फाइलें और उपलब्ध नहीं हैं।

इसलिए मैंने एपीके फ़ाइल दोबारा अपलोड की और एपीके विस्तार फ़ाइल को फिर से अपलोड किया और यह काम करता है। लेकिन यह बहुत अजीब है क्योंकि उपयोगकर्ता को प्रत्येक अपडेट के लिए विस्तार डाउनलोड करना होगा।

मेरा प्रश्न है: जब मैं Google Play कंसोल में नया एपीके अपलोड करता हूं, तो क्या मुझे हमेशा संग्रहीत एपीके विस्तार फ़ाइल चुननी होगी या इसे फिर से अपलोड करना होगा? क्या एपीके विस्तार फ़ाइलों का व्यवहार बीटा और संस्करण से अलग है?

निम्नलिखित पोस्ट में Updating an APK in Google Play without changing the expansion file यह कहता है कि यह व्यवहार केवल ड्राफ़्ट मोड में होता है लेकिन मेरा ऐप मसौदा मोड में नहीं है। यह बीटा के रूप में प्रकाशित किया गया है।

मैं आपकी मदद के लिए बहुत आभारी हूं।

उत्तर

2

आपको दोनों फाइलों को अपलोड करना होगा क्योंकि यह सामान्य तरीका है।

प्रत्येक बार जब आप Google Play कंसोल का उपयोग करके एपीके अपलोड करते हैं, तो आपके पास एपीके में एक या दो विस्तार फ़ाइलों को जोड़ने का विकल्प होता है। प्रत्येक फ़ाइल 2 जीबी तक हो सकती है और यह आपके द्वारा चुने गए किसी भी प्रारूप में हो सकती है, लेकिन हम अनुशंसा करते हैं कि डाउनलोड के दौरान बैंडविड्थ को संरक्षित करने के लिए आप एक संपीड़ित फ़ाइल का उपयोग करें। संकल्पनात्मक रूप से, प्रत्येक विस्तार फ़ाइल एक अलग भूमिका निभाती है:

मुख्य विस्तार फ़ाइल आपके आवेदन द्वारा आवश्यक अतिरिक्त संसाधनों के लिए प्राथमिक विस्तार फ़ाइल है। पैच विस्तार फ़ाइल वैकल्पिक है और मुख्य विस्तार फ़ाइल के छोटे अपडेट के लिए लक्षित है। जबकि आप दो विस्तार फ़ाइलों का उपयोग किसी भी तरह से कर सकते हैं, हम अनुशंसा करते हैं कि मुख्य विस्तार फ़ाइल प्राथमिक संपत्तियां प्रदान करे और शायद ही कभी अपडेट की जानी चाहिए; पैच विस्तार फ़ाइल छोटी होनी चाहिए और "पैच वाहक" के रूप में कार्य करना चाहिए, प्रत्येक प्रमुख रिलीज या आवश्यकतानुसार अपडेट हो रहा है।

हालांकि, अगर आपके एप्लिकेशन अपडेट को केवल एक नई पैच विस्तार फ़ाइल की आवश्यकता है, तो भी आपको मैनिफेस्ट में एक अद्यतन संस्करण कोड के साथ एक नया एपीके अपलोड करना होगा। (प्ले कंसोल यदि आप किसी मौजूदा APK में एक विस्तार फ़ाइल अपलोड करने की अनुमति नहीं है।)

नोट: पैच विस्तार फ़ाइल शब्दार्थ मुख्य विस्तार किसी भी तरह से आप चाहते हैं फ़ाइल-आप प्रत्येक फ़ाइल का उपयोग कर सकते रूप में ही है । सिस्टम आपके ऐप के लिए पैचिंग करने के लिए पैच विस्तार फ़ाइल का उपयोग नहीं करता है। आपको खुद को पैच करना होगा या दो फाइलों के बीच अंतर करने में सक्षम होना चाहिए।

आप पा सकते हैं अधिक जानकारी के लिए यहाँ https://developer.android.com/google/play/expansion-files.html

+0

अपने जवाब के लिए धन्यवाद। मैं मुख्य और पैच विस्तार फ़ाइल के अभिसरण को समझ रहा हूं और मुझे केवल मुख्य फ़ाइल की आवश्यकता है। मेरी मुख्य विस्तार फ़ाइल कभी नहीं बदलेगी और सवाल यह है: क्या मुझे हर बार एक नए संस्करण संख्या के साथ अपलोड करना होगा यदि मैं केवल एपीके अपडेट कर रहा हूं? तो मुझे संस्करण कोड से मेल खाने के लिए मेरे मैनिफेस्ट में और डाउनलोडर गतिविधि में प्रदाता के मूल्य को हमेशा बढ़ाना होगा। इसलिए उपयोगकर्ता को प्रत्येक अद्यतन के लिए बड़ी फ़ाइल डाउनलोड करनी है। मुझे नहीं लगता कि यह सही तरीका है। –

संबंधित मुद्दे