2016-09-26 18 views
6

के लिए विभिन्न फ़िल्टरों के साथ एकाधिक एपीके प्रकाशित करना मैं एकाधिक एपीक्स प्रकाशित करना चाहता हूं: एक मोबाइल और अन्य एंड्रॉइड टीवी के लिए एक ही एप्लिकेशन में। प्रति Publishing Multiple APKs with Different Filters के रूप में वहाँ एक ही आवेदन के भीतर केवल चार विशिष्ठ फिल्टर कर रहे हैं:मोबाइल और टीवी

वर्तमान में, Google Play आपको एक ही आवेदन के लिए एकाधिक APK प्रकाशित करने के लिए केवल जब प्रत्येक APK निम्न कॉन्फ़िगरेशन के आधार पर विभिन्न फिल्टर प्रदान करता है की अनुमति देता है:

  • ओपन बनावट संपीड़न प्रारूपों

  • स्क्रीन आकार (और वैकल्पिक रूप से स्क्रीन घनत्व)

  • एपीआई स्तर

  • सीपीयू वास्तुकला (एबीआई)

अन्य सभी फ़िल्टर अभी भी सामान्य के समान काम करते हैं, लेकिन ये चार केवल फ़िल्टर हैं जो Google Play पर उसी एप्लिकेशन प्रविष्टि के भीतर एक एपीके को दूसरे से अलग कर सकते हैं। उदाहरण के लिए, यदि आप डिवाइस के कैमरे के पास हैं तो एपीके अलग-अलग पर भिन्न होते हैं, तो आप उसी एप्लिकेशन के लिए एकाधिक एपीके प्रकाशित नहीं कर सकते हैं।

मैं API लेवल के स्क्रीन आकार से अलग करने के लिए सोचा था लेकिन वहाँ एक जैसी होने पर हो रहा है:

  1. एपीआई स्तर (MinSDK) AndroidTV अनुप्रयोग के लिए 21 में से 16 पर मोबाइल एप्लिकेशन के लिए रखा जाता है। इसलिए एपीआई स्तर (21 और ऊपर) का ओवरलैप है।

  2. एंड्रॉइड टीवी के लिए स्क्रीन आकार टैबलेट के साथ ओवरलैप हो सकता है: उदाहरण के लिए। common high-definition TV display resolutions 720p, 1080i, और 1080p हैं। भी Samsung nexus संकल्प 720x1280 है।

मुझे डर है कि अगर मैं एक उच्च संस्करण के साथ AndroidTV apk प्रकाशित करते हैं, यह एपीआई स्तर> = 21 और स्क्रीन आकार 720x1280 वह भी टीवी एप्लिकेशन लेआउट आकार के लिए उत्तीर्ण के साथ एक टेबलेट पर मोबाइल एप्लिकेशन बदल सकता है।

तो ऐप के मैनिफेस्ट में विभिन्न फ़िल्टर का उपयोग करके मैं इन दो एपीके के बीच स्पष्ट रूप से अंतर कैसे कर सकता हूं?

अद्यतन

मैं पहले से ही में leanback सुविधा जोड़ी AndroidTV ऐप की मेनिफेस्ट

<manifest> 
    <uses-feature android:name="android.software.leanback" 
     android:required="true" /> 
    ... 
</manifest> 

मैं AndroidTV apk के लिए 42 समर्थित उपकरणों को देखने के (नहीं देख सकते हैं जो उपकरणों) और 10,791 मोबाइल apk डिवाइस के लिए और पूरे आवेदन के लिए समर्थित कुल 10832 कुल डिवाइस। ओवरलैपिंग डिवाइस है जिसकी वजह से चेतावनी प्रदर्शित किया जाता है -

10791 + 42 = 10833

तो वहाँ अभी भी 1 (10832 = 1 10833) की संभावना है।

ओवरलैप चेतावनी

enter image description here

AndroidTV apk

enter image description here

मोबाइल apk

enter image description here

कुल उपकरणों

enter image description here

मैं संदेश ओवरलैपिंग नहीं लगता कि AndroidTV apk जा रहा है एक सुपर सेट के रूप में AndroidTV जिसके लिए समर्थित उपकरणों की संख्या को देखकर टिप्पणियों में से एक में उल्लेख मोबाइल apk की ज्यादा है की वजह से है कम से।

चूंकि केवल एक संभावित ओवरलैपिंग डिवाइस है, इसलिए मैं इसे प्रकाशित करूंगा लेकिन मेरी इच्छा है कि मुझे पता था कि कौन से डिवाइस दोनों एपीक्स प्राप्त करने के लिए ओवरलैप हैं।

उत्तर

4

वास्तव में एक "फीचर" है जिसका उपयोग विशेष रूप से एंड्रॉइड टीवी को लक्षित करने के लिए किया जाता है। आप docs में निर्देश देख सकते हैं। लेकिन मूल रूप से आपको बस यह निर्दिष्ट करना होगा कि यह नीचे की तरह leanback सुविधा का उपयोग करता है।

<manifest> 
    <uses-feature android:name="android.software.leanback" 
     android:required="true" /> 
    ... 
</manifest> 

यह सुनिश्चित होगा कि किसी भी टीवी डिवाइस leanback चल रहा अपना APK मिल जाएगा (क्या आप एक APK उपयोग कर रहे हैं के लिए आवश्यक सेट कर सकते हैं = false)। मेरा मानना ​​है कि सभी आधिकारिक एंड्रॉइड टीवी इस सुविधा का उपयोग कर रहे हैं। यह संभव है कि एक गैर-टीवी डिवाइस पर लीनबैक हो, लेकिन उस स्थिति में उनके सभी ऐप्स टीवी ऐप्स के रूप में दिखाई देंगे।

कई अन्य विशेषताएं हैं जिन्हें आप एंड्रॉइड टीवी को लक्षित करने के लिए अक्षम/सक्षम कर सकते हैं, आप अधिक जानकारी के लिए release checklist की समीक्षा कर सकते हैं (विशेष रूप से this section)।

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

बहु apk परिदृश्य जहां अतिव्यापी उपकरणों है के बारे में - हाँ, आपके Android TV APK हमेशा एक है करने की आवश्यकता होगी उच्च संस्करण कोड।इसे हल करने में सहायता के लिए कुछ विकल्प हैं:

  1. आप मैन्युअल रूप से 2 ओवरलैपिंग डिवाइस को ब्लैकलिस्ट कर सकते हैं। यह तुरंत एपीके ओवरलैपिंग के साथ इस मुद्दे को हल करेगा, हालांकि भविष्य में नए डिवाइस जारी किए जाएंगे जो कि एपीके दोनों के लिए योग्य हैं, आपको इस मुद्दे का फिर से सामना करना पड़ेगा।

  2. अपने एंड्रॉइड टीवी एपीके के लिए एक संस्करण कोड योजना का उपयोग करें जो आपके मोबाइल डिवाइस एपीके से काफी अधिक है। उदाहरण के लिए, आपका टीवी एपीके मौजूदा संस्करण कोड + 100000 या 100808 हो सकता है, जबकि आपका मोबाइल डिवाइस एपीके 838 पर बना रहता है। इस परिदृश्य में, आप अपने एंड्रॉइड टीवी एपीके को अपडेट किए बिना मोबाइल डिवाइस एपीके को संस्करण कोड 100808 तक प्रकाशित कर सकते हैं हर धक्का यह अल्फा/बीटा परीक्षण एंड्रॉइड टीवी एपीके के साथ किसी भी मुद्दे को हल करेगा।

उनकी प्रतिक्रिया भी this doc की "नियत संस्करण कोड" खंड में कवर किया जाता है।

+0

मैंने मैनिफेस्ट में लीनबैक सुविधा जोड़ा है फिर भी कंसोल में ओवरलैपिंग डिवाइसों के लिए चेतावनी देखें। सटीक संदेश: "कुछ डिवाइस एकाधिक एपीके चलाने के लिए योग्य हैं। ऐसे परिदृश्य में, डिवाइस को उच्च संस्करण कोड के साथ एपीके प्राप्त होगा।" – random

+1

यह सही है, लेकिन मूल रूप से यह संदेश कह रहा है कि आपका एंड्रॉइड टीवी एपीके आपके मोबाइल एपीके का एक सुपर-सेट है, लेकिन प्ले स्टोर अभी भी इतना समझदार है कि आपका एंड्रॉइड टीवी एपीके अधिक विशिष्ट है। आपको टीवी एपीके पर आवश्यक = सत्य सेट करना चाहिए। सटीक नियमों के लिए [एकाधिक apks के नियम] (https://developer.android.com/google/play/publishing/multiple-apks.html) अनुभाग देखें। यह दस्तावेज़ हमेशा आपके एंड्रॉइड टीवी एपीके को एक उच्च संस्करण कोड के साथ प्रकाशित करने की सिफारिश करता है ताकि यह सुनिश्चित किया जा सके कि यदि टीवी में दुबला है, तो यह हमेशा लीनबैक एपीके उठाएगा। –

+0

इसका मतलब यह है कि जब भी मैं एंड्रॉइडटीवी कोड में कोई बदलाव नहीं करता हूं, तब भी मुझे मोबाइल ऐप एपीके प्रकाशित होने पर एंड्रॉइडटीवी एपीके को एक बढ़ी हुई वर्ककोड के साथ प्रकाशित करना होगा? क्या उपयोगकर्ताओं को इस मामले में androidtv के लिए एक अद्यतन अधिसूचना प्राप्त होगी? – random

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