Google Play स्टोर क्यों कहता है कि मेरा एंड्रॉइड ऐप मेरे अपने डिवाइस के साथ असंगत है?


91

मुझे यह प्रश्न पूछने में संकोच हो रहा है, क्योंकि ऐसा प्रतीत होता है जैसे कई लोगों को एक समान समस्या है और फिर भी मुझे ऐसा कोई हल नहीं मिला है जो मेरे विशेष उदाहरण को हल करता हो।

मैंने एक एंड्रॉइड ऐप ( वास्तविक ऐप का लिंक ) विकसित किया है और इसे प्ले स्टोर पर अपलोड किया है। प्ले स्टोर कहता है

"This app is incompatible with your XT Mobile Network HTC HTC Wildfire S A510b."

बेशक वह फोन है जिस पर मैंने ऐप विकसित किया है, इसलिए इसे संगत होना चाहिए । अन्य उपकरणों वाले कुछ लोगों का कहना है कि यह संगत रिपोर्ट करता है, अन्य कहते हैं कि यह असंगत रिपोर्ट करता है, लेकिन मुझे कोई रुझान नहीं मिल रहा है। (जाहिरा तौर पर मैं Android उपकरणों के साथ बहुत से लोगों को नहीं जानता।)

मैंने निम्नलिखित कोशिश की है:

  • इस उत्तरres/raw द्वारा सुझाए गए निर्देशिका से एक बड़ी-ईश फ़ाइल को स्थानांतरित करना । वहाँ केवल फ़ाइल ~ 700 kB पाठ फ़ाइल थी, लेकिन मैंने इसे बिना किसी स्पष्ट परिवर्तन के स्थानांतरित कर दिया ।assets/

  • निम्नलिखित दो फीचर अभिक्रियाओं को जोड़ रहा है:

    <uses-feature android:name="android.hardware.faketouch" />
    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />

    यह सोचते हुए कि शायद मेरा फोन सामान्य android.hardware.touchscreenसुविधा का समर्थन करने का दावा नहीं करता है , लेकिन फिर से, कोई स्पष्ट परिवर्तन नहीं है।

जब एपीके को प्ले स्टोर पर अपलोड किया जाता है, तो एकमात्र फ़िल्टर जो सक्रिय के रूप में रिपोर्ट करता है, वह android.hardware.faketouchहै।

निम्नलिखित का उत्पादन निम्न है aapt dump badging bin/NZSLDict-release.apk:

package: name='com.hewgill.android.nzsldict' versionCode='3' versionName='1.0.2'
sdkVersion:'4'
targetSdkVersion:'4'
uses-feature:'android.hardware.faketouch'
uses-feature-not-required:'android.hardware.touchscreen'
application-label:'NZSL Dictionary'
application-icon-160:'res/drawable/icon.png'
application: label='NZSL Dictionary' icon='res/drawable/icon.png'
launchable-activity: name='com.hewgill.android.nzsldict.NZSLDictionary'  label='NZSL Dictionary' icon=''
main
other-activities
supports-screens: 'small' 'normal' 'large'
supports-any-density: 'true'
locales: '--_--'
densities: '160'

और पूर्णता के लिए, मेरी मैनिफ़ेस्ट फ़ाइल:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.hewgill.android.nzsldict"
      android:versionCode="3"
      android:versionName="1.0.2">
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="4" />
    <uses-feature android:name="android.hardware.faketouch" />
    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
    <application android:label="@string/app_name"
        android:icon="@drawable/icon">
        <activity android:name="NZSLDictionary"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".WordActivity" />
        <activity android:name=".VideoActivity" />
        <activity android:name=".AboutActivity" />
    </application>
</manifest> 

प्ले स्टोर के "डिवाइस उपलब्धता" अनुभाग में, मैं देख सकता हूं कि वाइल्डफायर एस सहित सभी एचटीसी डिवाइसों को "जी 1 (ट्राउट)" और "टच वाइवा (ओपल)" को छोड़कर समर्थित किया जाता है, जो कुछ भी वे हैं। वास्तव में मैं देख रहा हूं कि दोनों "वाइल्डफायर एस (चमत्कार)" और "वाइल्डफायर एस A515c (मार्वलक)" को समर्थन के रूप में सूचीबद्ध किया गया है, लेकिन मेरे "वाइल्डफायर एस ए 5 बी" का विशेष रूप से उल्लेख नहीं किया गया है। क्या इस तरह का उप-मॉडल पहचानकर्ता मायने रखता है? मैं बिना किसी समस्या के अपने फ़ोन से Google Play से कई अन्य ऐप डाउनलोड करने में सक्षम रहा हूं।

केवल एक चीज जो मैंने इस बिंदु पर नहीं की है, वह नवीनतम संस्करण (जैसा कि इस टिप्पणी में है ) को अपलोड करने के 4-6 घंटे बाद प्रतीक्षा करना है कि क्या यह अभी भी कहता है कि यह मेरे फोन के साथ असंगत है। हालाँकि, वर्तमान में प्ले स्टोर पेज 1.0.2 दिखाता है जो कि मेरे द्वारा अपलोड किया गया नवीनतम है।


कुछ ऐसा है जो मुझे फोन से संबंधित मुद्दों के साथ एक टन में मदद करता है ACRA: code.google.com/p/acra को सेटअप करने के लिए मैंने इसे फ़ोन के पूर्ण चश्मे को खींचने के लिए आवेदन की पहली शुरुआत में चलाया, और handleSilentExceptionचुपचाप रिपोर्ट करने के लिए विधि का उपयोग करें । यह कम से कम आपको बताएगा कि ऐप किस हार्डवेयर पर काम कर रहा है।
गैविन मिलर

2
@GavinMiller: धन्यवाद, लेकिन मुझे यकीन नहीं है कि मदद मिलेगी जब प्ले स्टोर एप को डिलीवर करने से मना कर देगा।
ग्रेग हेविल

हो सकता है कि मैंने आपकी टिप्पणी को गलत समझा: "अन्य उपकरणों वाले कुछ लोग कहते हैं कि यह संगत की रिपोर्ट करता है, अन्य कहते हैं कि यह असंगत रिपोर्ट करता है, लेकिन मुझे कोई रुझान नहीं मिल सकता है।" यदि आप जिन लोगों को नहीं जानते हैं, वे ऐप डाउनलोड और इंस्टॉल कर सकते हैं, तो आप ट्रेंड करने के लिए हार्डवेयर डेटा का एक बड़ा पूल एकत्र कर सकते हैं। इस प्रकार "मुझे Android उपकरणों के साथ बहुत से लोग नहीं जानते हैं।" मुद्दा।
गेविन मिलर

@GavinMiller: हालाँकि, यह केवल मुझे बताएगा कि कौन से उपकरण Google Play को विश्वास है कि इसे स्थापित किया जा सकता है, और Google Play को कौन से उपकरण इसे स्थापित नहीं किया जा सकता है, इस बारे में कोई जानकारी नहीं देगा । इसके अलावा, यह भी निश्चितता के साथ जानना कि कौन से उपकरण ठीक थे और जो नहीं थे, वास्तव में इस समस्या को हल करने में मेरी मदद नहीं करेंगे।
ग्रेग हेविल

इस समाधान को मेरे लिए काम करने की जांच करें stackoverflow.com/a/14020303/3392323
10

जवाबों:


84

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

मैंने res/drawableनिर्देशिका में अधिक सामग्री जोड़ने के अलावा इस ऐप में कुछ भी नहीं बदला । जब .apkआकार लगभग 32 एमबी तक पहुंच गया, तो प्ले स्टोर ने रिपोर्ट करना शुरू कर दिया कि मेरा ऐप मेरे फोन के साथ असंगत था।

मैं Google डेवलपर समर्थन से संपर्क करने और इस सीमा के कारण के बारे में स्पष्टीकरण मांगने का प्रयास करूंगा।

अद्यतन : यहाँ Google डेवलपर समर्थन प्रतिक्रिया है:

आपकी टिप्पणी के लिए धन्यवाद। वर्तमान में Google Play पर ऐप अपलोड के लिए अधिकतम फ़ाइल आकार की सीमा लगभग 50 एमबी है।

हालाँकि, कुछ उपकरणों में 50 एमबी से कम कैश विभाजन हो सकता है, जिससे ऐप उपयोगकर्ताओं को डाउनलोड करने के लिए अनुपलब्ध है। उदाहरण के लिए, एचटीसी वाइल्डफायर के कुछ उपकरण 35-40 एमबी कैश विभाजन के लिए जाने जाते हैं। यदि Google Play ऐसे उपकरण की पहचान करने में सक्षम है, जिसमें ऐप को संग्रहीत करने के लिए पर्याप्त कैश नहीं है, तो यह उपयोगकर्ता के लिए प्रदर्शित होने से इसे फ़िल्टर कर सकता है।

मैंने गुणवत्ता के एक छोटे से नुकसान के साथ सभी पीएनजी फाइलों को जेपीजी में परिवर्तित करके अपनी समस्या को हल किया। .apkफ़ाइल अब 28 एमबी है, जो जो कुछ भी सीमा गूगल प्ले मेरे फोन के लिए लागू कर रहा है नीचे है।

मैंने भी सारा <uses-feature>सामान हटा दिया , और अब बस यही है:

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />

बहुत ही रोचक और बहुमूल्य जानकारी। और इतना गुस्सा कि यह कहीं भी प्रलेखित नहीं है।
माइकल ए

2
वास्तव में, मुझे कभी भी समस्या के बारे में नहीं पता होता अगर मैं वाइल्डफायर फोन नहीं होता।
ग्रेग हेविगेल

मेरे पास 3 गेम हैं: 32 एमबी, 35 एमबी और आकार में 44 एमबी। मेरा अपना HTC ब्रावो पहले दो गेम देखता है और तीसरा स्टोर पर नहीं देखता है। मेरे मित्र की HTC इच्छा एस केवल पहला गेम देखती है। तो, जाहिर है कि खेलों का आकार 33 एमबी से कम होना चाहिए या अधिकांश (?) उपकरणों के लिए दिखाई देना चाहिए। दुर्भाग्य से मैंने इस उत्तर को बहुत देर से देखा और महीनों तक इस मुद्दे के बारे में नहीं जानता था ... मुझे यकीन था कि यह डिवाइस के प्रोसेसर प्रकार पर निर्भर करता है, ओपनगेल संस्करण का समर्थन करता है, प्रकट या कुछ में निर्धारित सीमाएं। आह ..
इज़ाइलल

7
यह पागलपन है कि Google Play स्टोर पर असंगति के कारण को सूचीबद्ध नहीं करता है। मैंने हमेशा यह माना कि कम से कम ऐप डेवलपर्स को यह जानकारी मिली होगी और उन्होंने सचेत रूप से चुना होगा कि वे मेरे डिवाइस का समर्थन न करें। इतने लंबे समय तक स्थिति ऐसी कैसे रही?
गेरी

1
@GregHewgill हैलो ग्रेग। मैंने इसी तरह के एक मुद्दे के बारे में Google समर्थन से संपर्क किया है। जैसा कि मेरे ऐप का आकार सिर्फ 5 एमबी था, मैं अलग-अलग विकल्पों को देख रहा था कि Google Play ने किसी विशेष डिवाइस पर मेरे एप्लिकेशन को क्यों फ़िल्टर किया। मुझे उनसे संपर्क किए 72 घंटे हो चुके हैं और वे किसी भी तरह के स्पष्टीकरण के साथ वापस नहीं आए। क्या कोई तरीका है जिससे मैं सामान्य संपर्क के अलावा Google समर्थन से संपर्क कर सकता हूं?
हेमंत कुमार

15

मैं इसमें भी भाग गया - मैंने अपने सभी विकास एक Lenovo IdeaTab A2107A-F पर किए और इस पर विकास बिल्ड्स चला सकता था, और adb installबिना किसी मुद्दे के हस्ताक्षरित एपीके (साथ स्थापित ) भी जारी किया । एक बार जब यह अल्फा टेस्ट मोड में प्रकाशित हुआ और Google Play पर उपलब्ध था तो मुझे "आपके डिवाइस के साथ असंगत" त्रुटि संदेश मिला।

यह पता चलता है कि मैंने अपने AndroidManifest.xmlट्यूटोरियल से निम्नलिखित में रखा था :

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.CAMERA" />

खैर, Lenovo IdeaTab A2107A-F पर एक ऑटोफोकसिंग कैमरा नहीं है (जिसे मैंने http://www.phonearena.com/phones/Lenovo-IdeaTab-A2107_id7611 से खरीदा है , विपक्ष में ऑटोफोकस कैमरा का अभाव है)। चाहे मैं उस सुविधा का उपयोग कर रहा था, Google Play ने कहा कि नहीं। एक बार जब मुझे हटा दिया गया तो मैंने अपने एपीके को फिर से बनाया, इसे Google Play पर अपलोड किया, और निश्चित रूप से मेरा IdeaTab अब संगत उपकरणों की सूची में था।

इसलिए, हर बार डबल-चेक करें <uses-feature>और यदि आप फिर से वेब चेक से कुछ कॉपी-पेस्ट कर रहे हैं। बाधाओं से आप कुछ सुविधा का उपयोग करने का अनुरोध कर रहे हैं।


3
धन्यवाद ! मैं एक अन्य <उपयोग-सुविधा> का उपयोग कर रहा था: <उपयोग-सुविधा Android: नाम = "android.hardware.camera2" /> और इसके कारण मेरे पास शून्य संगत डिवाइस थे। मैंने लाइन हटा दी और अब 10000 है।
जैक '

आप इसे अभी भी इसका उपयोग करने के लिए सेट कर सकते हैं, लेकिन इसकी आवश्यकता नहीं है: <उपयोग-सुविधा एंड्रॉइड: नाम = "android.hardware.camera.autofocus" एंड्रॉइड: आवश्यक = "गलत" />
DrChandra

<उपयोग-सुविधा Android: name = "android.hardware.camera2" /> मेरे ऐप को असंगत बनाता है इसलिए मैं playstore पर ऐप को खोजने में असमर्थ था। मेरी जान बचाओ
आनंद सवजनी

11

मैंने इस समस्या का अनुभव किया है, जबकि एक ग्राहक के लिए एक एप्लिकेशन विकसित करते समय जो अपने आवेदन से ऑफ़लाइन वीडियो उपलब्ध कराना चाहता था। मैंने इस बारे में एक ब्लॉगपोस्ट लिखा है कि मैंने महीनों तक जिस ऐप पर काम किया, वह अपने डिवाइस के लिए प्ले स्टोर में क्यों नहीं दिखाई देगा ( पोस्ट यहां देखी जा सकती है )। मुझे @Greg Hewgill के समान पाया गया: कुछ उपकरणों पर कैश विभाजन की सीमाएँ

यात्रा मेरे लिए वहाँ नहीं रुकी। ग्राहक इन वीडियो को एप्लिकेशन में रखना चाहता था और नहीं चाहता था कि वीडियो की गुणवत्ता कम हो। कुछ शोध के बाद मुझे पता चला कि विस्तार फ़ाइलों का उपयोग करना हमारी समस्या का सही समाधान था।

Android समुदाय के साथ अपने ज्ञान को साझा करने के लिए मैंने droidconNL 2012 में विस्तार फ़ाइलों के बारे में बात की । मैंने यह वर्णन करने के लिए एक प्रस्तुति और नमूना कोड बनाया कि विस्तार फ़ाइलों का उपयोग शुरू करना कितना आसान हो सकता है। आप में से किसी के लिए इस समस्या को हल करने के लिए विस्तार फ़ाइलों का उपयोग करना चाहते हैं प्रस्तुति और नमूना कोड वाले पोस्ट की जांच करने के लिए स्वतंत्र महसूस करें


4
आपकी पोस्ट में उल्लिखित Google समर्थन लिंक अब पुराना हो गया है, नया लिंक support.google.com/googleplay/android-developer/answer/… है । आशा है कि आप नवीनतम लिंक और btw, अच्छी पोस्ट के साथ लेख को अपडेट करेंगे। !!
रोहन कंडवाल

7

आप समर्थन-स्क्रीन विशेषता को आज़माना और सेट करना चाह सकते हैं:

<supports-screens
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:xlargeScreens="true" >
</supports-screens>

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

इसके अलावा - जैसा कि डेविड सुझाव देते हैं - एंड्रॉइड एपीआई के सबसे वर्तमान संस्करण के खिलाफ हमेशा संकलित करें और लक्ष्य करें, जब तक कि आपके पास मजबूत कारण न हों। 2.2 से पहले हर एसडीके में कुछ गंभीर मुद्दा या अजीब व्यवहार होता है; उनमें से बहुत से (हालांकि सभी नहीं) को हल करने या कवर करने के लिए उत्तरार्द्ध एसडीके की मदद। रिलीज की तैयारी के दौरान आप यह जान सकते हैं कि आपका ऐप एपीआई 4 के साथ संगत है या नहीं यह जांचने के लिए लिंट टूल का उपयोग करें।


धन्यवाद, मुझे अपने नवीनतम समर्थन अनुरोध के लिए Google डेवलपर समर्थन से प्रतिक्रिया की प्रतीक्षा है। मैं उनसे प्रतिक्रिया प्राप्त करने के बाद यह कोशिश करूँगा (मैं अभी तक एक और एपीके अपलोड करके उन्हें भ्रमित नहीं करना चाहता)। आपको बताएंगे कि यह कैसे निकलता है।
ग्रेग हेविल

आशा है कि आपको बहुत लंबा इंतजार नहीं करना पड़ेगा। वे वास्तव में तेजी से प्रतिक्रियाओं के लिए एक प्रतिष्ठा नहीं है। :-)
माइकल ए।

मैं कुछ समय पहले ही उनके साथ वापस जा चुका हूं, लेकिन मेरा ताजा सवाल 22 घंटों के लिए अनुत्तरित हो गया है। यह इंतजार करना निराशाजनक है, लेकिन कम से कम यह मिशन महत्वपूर्ण या कुछ भी नहीं है।
ग्रेग हेविल

बस आपको बताना चाहता था कि मुझे यह मुद्दा मिल गया है, इस सवाल पर मेरा जवाब देखें। आपकी सहायता के लिए धन्यवाद।
ग्रेग हेविगेल

7

फिनेले, मैंने अपने आवेदन में उसी मुद्दे का सामना किया है। मैंने फोन गैप ऐप विकसित किया है android:minSdkVersion="7" & android:targetSdkVersion="18"जिसके लिए हाल ही में एंड्रॉइड प्लेटफॉर्म का संस्करण है।

मुझे Google डॉक्स का उपयोग करके समस्या मिली है

यह मुद्दा हो सकता है कि मैंने कुछ जेएस फ़ंक्शन लिखे हैं जो KEY-CODEकेवल अक्षर और संख्या को मान्य करने के लिए काम करते हैं लेकिन कुंजी बोर्ड में विशेष रूप से कंप्यूटर कीबोर्ड और मोबाइल कीबोर्ड के लिए अलग-अलग कुंजी कोड हैं। तो यह मेरा मुद्दा था।

मुझे यकीन नहीं है कि मेरा उत्तर सही है या नहीं और यह संभव हो सकता है कि यह ऊपर दिए गए उत्तर के लिए स्माइलर हो सकता है लेकिन मैं कुछ बिंदुओं को सूचीबद्ध करने की कोशिश करूंगा जो हमें ऐप बनाते समय ध्यान रखना चाहिए। मुझे उम्मीद है कि आप इसे फॉलो करेंगे इस तरह के मुद्दे को हल करें।

  • android:minSdkVersion="?"अपनी आवश्यकता के अनुसार उपयोग करें और android:targetSdkVersion="?"नवीनतम होना चाहिए जिसमें आपका ऐप लक्षित होगा। और देखें

  • केवल उन्हीं अनुमतिओं को जोड़ने का प्रयास करें जो आपके आवेदन में उपयोग की जाएंगी और उन सभी को हटा दें जो अनावश्यक हैं।

  • एप्लिकेशन द्वारा समर्थित स्क्रीन देखें

    <supports-screens 
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:resizeable="true"
    android:smallScreens="true"
    android:xlargeScreens="true"/>
  • हो सकता है कि आपने कुछ कॉस्ट्यूम कोड या कॉस्टयूम विजेट लागू किए हों, जो देर तक लिखने से पहले किसी डिवाइस या टैब में चलने में सक्षम न हों, पहले कुछ बीटा कोड लिखने की कोशिश करें और यह परीक्षण करें कि आपका कोड सभी डिवाइस में चलेगा या नहीं। ।

  • और मुझे उम्मीद है कि Google एक उपकरण प्रकाशित करेगा जो ऐप अपलोड करने से पहले आपके कोड को मान्य कर सकता है और यह भी कहता है कि कुछ विशिष्ट कारणों के कारण हम आपके ऐप को कुछ डिवाइस में चलाने की अनुमति नहीं देते हैं ताकि हम इसे आसानी से हल कर सकें।


6

मेरे पास कुछ सुझाव हैं:

  1. सबसे पहले, आप अपने लक्ष्य के रूप में एपीआई 4 का उपयोग कर रहे हैं। AFAIK, यह हमेशा नवीनतम एसडीके के खिलाफ संकलन करने और अपने android:minSdkVersionअनुसार सेटअप करने के लिए अच्छा अभ्यास है ।

  2. इसे ध्यान में रखते हुए, याद रखें कि API 5 मेंandroid:required विशेषता को जोड़ा गया था :

सुविधा घोषणा में एक android:required=["true" | "false"]विशेषता शामिल हो सकती है (यदि आप एपीआई स्तर 5 या उच्चतर के खिलाफ संकलन कर रहे हैं), जो आपको यह निर्दिष्ट करने की अनुमति देती है कि क्या आवेदन (...)

इस प्रकार, मेरा सुझाव है कि आप SDK 15 के खिलाफ संकलन करें, targetSdkVersionसाथ ही 15 तक सेट करें और उस कार्यक्षमता को प्रदान करें।

यह प्ले साइट पर भी दिखाता है, किसी भी डिवाइस के साथ असंगत है जो मेरे पास है (संयोग?) जिंजरब्रेड (गैलेक्सी ऐस और गैलेक्सी वाई यहां)। लेकिन यह मेरे गैलेक्सी टैब 10.1 ( हनीकॉम्ब ), नेक्सस एस और गैलेक्सी नेक्सस (दोनों आईसीएस पर ) के साथ संगत दिखाता है ।

वह भी मुझे आश्चर्यचकित करता है , और यह एक बहुत ही जंगली अनुमान है, लेकिन चूंकि android.hardware.faketouch API11 + है , इसलिए आप इसे हटाने की कोशिश नहीं करते हैं सिर्फ यह देखने के लिए कि क्या यह काम करता है? या शायद यह सब वैसे भी संबंधित है, क्योंकि आप सुविधाओं का उपयोग करने की कोशिश कर रहे हैं ( faketouch) और वह requiredविशेषता जो एपीआई 4 में उपलब्ध नहीं है। और इस मामले में आपको नवीनतम एपीआई के खिलाफ संकलन करना चाहिए।

मैं कोशिश करूंगा कि पहले, और faketouchआवश्यकता को केवल अंतिम उपाय के रूप में हटा दें (निश्चित रूप से) --- चूंकि यह विकसित होने पर काम करता है, मैं कहूंगा कि यह केवल संकलित ऐप की विशेषता है जो कि सुविधा को नहीं पहचान रहा है (एसडीके आवश्यकताओं के कारण) , इस प्रकार प्ले पर अप्रत्याशित फ़िल्टरिंग मुद्दों को छोड़कर।

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

सौभाग्य।


धन्यवाद, यह मुझे कुछ विशिष्ट विचार देता है। मूल रूप से मेरे पास कोई <uses-feature>टैग नहीं था , यह कम के बजाय अधिक उपकरणों के साथ संगत करने का प्रयास था। मैं एसडीके संस्करण टैग बदलने की कोशिश करूंगा, जो कि सबसे अधिक संभावना है। मुझे यह जोड़ना चाहिए कि मैंने उपयोग किया minSdkVersion="4"क्योंकि उस संस्करण में अब कुछ अनुमतियों को नहीं लगाया गया है (फ़ोन स्थिति पढ़ें, एसडी कार्ड को संशोधित करें) जिसे मेरे ऐप की आवश्यकता नहीं है।
ग्रेग हेविल

SDK संस्करणों को बदलने से android:minSdkVersion="5" android:targetSdkVersion="15"भी मदद नहीं मिली। मैंने Google Play डेवलपर समर्थन से संपर्क किया है और उम्मीद है कि वे मुझे बता सकते हैं कि क्यों। यकीन है कि अच्छा होगा अगर फ़िल्टर करने का कारण प्ले ऐप पेज पर दिखाया गया था।
ग्रेग हेविल

हाँ यह बहुत अच्छा होगा। इस बीच, क्या आपने सेटिंग करने का प्रयास faketouchकिया required= false?
डेविडेसरिनो

नवीनतम पुनरावृत्ति सभी <uses-feature>टैग को हटा देती है क्योंकि Google समर्थन ने मुझे बताया कि यह मेरे डिवाइस के लिए अनुपलब्ध था क्योंकि यह android.hardware.faketouchसुविधा के कारण था । यह हास्यास्पद लगता है, खासकर जब से मेरे पिछले संस्करणों में से कोई भी <uses-feature>टैग नहीं था , लेकिन जो भी हो। मुझे उनकी प्रतिक्रिया का इंतजार है और मैं अभी तक कोई दूसरा संस्करण अपलोड करके उन्हें भ्रमित नहीं करना चाहता। यह अच्छा होगा यदि नए एपीके को बार-बार अपलोड और प्रकाशित किए बिना इसका परीक्षण करने का एक तरीका था।
ग्रेग हेविल

मैं हास्यास्पद नहीं कहूंगा, क्योंकि यह बाद में sdk संस्करणों (एपीआई 11) पर जोड़ा गया एक ध्वज है, इसलिए मैंने api15 के खिलाफ संकलन और लक्ष्यीकरण का सुझाव क्यों दिया (अपने प्रोजेक्ट को बदलने के लिए याद रखें। केवल प्रकट नहीं)। मुझे अभी भी आश्चर्य हो रहा है कि इसे स्थापित करना आवश्यक है = गलत हालांकि काम नहीं किया।
डेविडेसरिनो

6

अनुमतियाँ जो तत्काल सुविधा आवश्यकताएँ हैं

उदाहरण, Android 2.2. (API स्तर 8) में android.hardware.bluaxy सुविधा को जोड़ा गया था, लेकिन यह जिस ब्लूटूथ एपीआई को संदर्भित करता है उसे Android 2.0 (एपीआई स्तर 5) में जोड़ा गया था। इस वजह से, कुछ एप्लिकेशन एपीआई का उपयोग करने में सक्षम थे, इससे पहले कि वे यह घोषणा करने की क्षमता रखते कि उन्हें सिस्टम के माध्यम से एपीआई की आवश्यकता है।

उन ऐप्स को अनायास ही उपलब्ध होने से रोकने के लिए, Google Play यह मानता है कि कुछ हार्डवेयर-संबंधी अनुमतियाँ इंगित करती हैं कि डिफ़ॉल्ट रूप से अंतर्निहित हार्डवेयर सुविधाओं की आवश्यकता है। उदाहरण के लिए, ब्लूटूथ का उपयोग करने वाले अनुप्रयोगों को तत्व में BLUETOOTH अनुमति का अनुरोध करना चाहिए - विरासत ऐप्स के लिए, Google Play यह मानता है कि अनुमति की घोषणा का अर्थ है कि अंतर्निहित android.hardware.bluaxy सुविधा को एप्लिकेशन द्वारा आवश्यक है और उस सुविधा के आधार पर सेट अप करना आवश्यक है ।

नीचे दी गई तालिका उन अनुमतियों को सूचीबद्ध करती है, जो तत्वों में घोषित किए गए लोगों के बराबर आवश्यकताओं को लागू करती हैं। ध्यान दें कि किसी भी घोषित एंड्रॉइड: आवश्यक विशेषता सहित घोषणाएं, हमेशा नीचे दी गई अनुमतियों द्वारा निहित सुविधाओं पर वरीयता लें।

नीचे दी गई किसी भी अनुमति के लिए, आप निहित तत्व के आधार पर निहित सुविधा को स्पष्ट रूप से एक तत्व में स्पष्ट रूप से घोषित करके अक्षम कर सकते हैं, Android के साथ: आवश्यक = "गलत" विशेषता। उदाहरण के लिए, CAMERA अनुमति के आधार पर किसी भी फ़िल्टरिंग को अक्षम करने के लिए, आप इस घोषणा को प्रकट फ़ाइल में जोड़ देंगे:

<uses-feature android:name="android.hardware.camera" android:required="false" />


<uses-feature android:name="android.hardware.bluetooth" android:required="false" />
<uses-feature android:name="android.hardware.location" android:required="false" />
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.wifi" android:required="false" />

http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions


धन्यवाद! मेरे पास कोई विचार उपयोग-अनुमति नहीं है जिसे आवश्यक सुविधा के लिए डिफ़ॉल्ट किया गया था।
जिम पारेकेक

5

उपरोक्त to यह ऐप आपके लिए असंगत है ... ’समस्या के लिए एक अतिरिक्त समाधान देने के लिए, मुझे एक अलग समस्या के कारण के लिए अपना समाधान साझा करने दें। मैंने कम-एंड सैमसंग गैलेक्सी Y (GT-S6350) डिवाइस पर एक ऐप इंस्टॉल करने की कोशिश की और यह त्रुटि प्ले स्टोर से मिली। विभिन्न AndroidManifest कॉन्फ़िगरेशन का परीक्षण करने के लिए, मैंने एक खाता बनाया और दिनचर्या का अनुसरण किया जैसा कि https://stackoverflow.com/a/5449397/372838 में वर्णित है जब तक कि मेरा डिवाइस समर्थित डिवाइस सूची में नहीं दिखा।

यह पता चला कि जब आप कैमरा अनुमति का उपयोग करते हैं तो बहुत सारे उपकरण असंगत हो जाते हैं:

<uses-permission android:name="android.permission.CAMERA" />

जब मैंने उस विशिष्ट अनुमति को हटा दिया, तो आवेदन 870 के बजाय 1180 उपकरणों के लिए उपलब्ध था। आशा है कि यह किसी की मदद करेगा


7
हो सकता है, यह मदद कर सकता है: <उपयोग-अनुमति एंड्रॉइड: नाम = "android.permission.CAMERA" /> <उपयोग-सुविधा एंड्रॉइड: नाम = "android.hardware.camera" एंड्रॉइड: आवश्यक = "गलत" />
user1205415

3

विशिष्ट, इस प्रश्न को निराशा में पोस्ट करने के बाद सही पाया; जिस उपकरण की मुझे तलाश थी वह था:

$ aapt dump badging <my_apk.apk>

ऐसा लगता है कि आपने इसके बजाय stackoverflow.com/questions/16145927/… पर यह उत्तर देना चाहा है
ग्रेग हेवगिल

3

हालाँकि पहले से ही काफी कुछ उत्तर हैं, मुझे लगा कि मेरा उत्तर कुछ ऐसे लोगों की मदद कर सकता है जिनके पास मेरी जैसी ही समस्या है। मेरे मामले में, समस्या एक विज्ञापन नेटवर्क के सुझाव के अनुसार निम्नलिखित अनुमतियों के कारण होती है:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

उपरोक्त अनुमतियों का परिणाम यह है कि निम्नलिखित विशेषताएं अपने आप जुड़ जाती हैं:

android.hardware.LOCATION
android.hardware.location.GPS
android.hardware.location.NETWORK

इसका कारण यह है कि "Google Play, विशेष रूप से तत्वों की घोषणा फ़ाइल में घोषित अन्य तत्वों की जांच करके एक एप्लिकेशन की निहित विशेषता आवश्यकताओं की खोज करने का प्रयास करता है।" मेरे दो परीक्षण उपकरणों में उपरोक्त विशेषताएं नहीं हैं, इसलिए ऐप उनके साथ असंगत हो गया। उन अनुमतियों को हटाने से समस्या तुरंत हल हो गई।


2

मुझे एक अतिरिक्त तरीका मिला जिसमें यह समस्या होती है:
मेरे एलजी फोन का मूल ओएस फ्रॉयो (एंड्रॉइड 2.2) था और आईसीएस (एंड्रॉइड 4.0.4) पर अपडेट किया गया था। लेकिन Google Play Developers के कंसोल से पता चलता है कि यह मेरे फोन को Froyo डिवाइस के रूप में पहचानता है। (Google Play ने झूठे 'असंगतता' के कारण ऐप को डाउनलोड नहीं होने दिया, लेकिन यह किसी भी तरह अभी भी स्थापना का पता लगाता है।)

'सॉफ़्टवेयर' में फ़ोन की सेटिंग, ICS V4.0.4 को दिखाती है। ऐसा लगता है कि डिवाइस पर ICS अपडेट को प्रतिबिंबित करने के लिए फोन के लिए Google Play सर्वर की जानकारी अपडेट नहीं की गई है। ऐप मेनिफ़ेस्ट minSDK Honeycomb (3.0) पर सेट है, इसलिए Google Play ऐप को फ़िल्टर करता है।

इसके अलावा ब्याज:
ऐप में इन-ऐप बिलिंग V3 का उपयोग किया गया है। IabHelper के माध्यम से पहली बार एप्लिकेशन को Google Play सेवा के माध्यम से खरीदारी करने की अनुमति देता है। लेकिन खरीद किए जाने के बाद, खरीद को इन्वेंट्री में नहीं डाला जाता है और इबेलपर रिपोर्ट में कोई आइटम नहीं होता है। डीबग संदेश खरीदारी से एक 'खरीद विफल' परिणाम दिखाते हैं, भले ही Google Play विंडो "खरीद सफल" की घोषणा करती है।


0

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


0

मेरी भी यही समस्या थी। मैंने रिएक्ट नेटिव 59 के साथ बनाया टेस्ट मोड में एक ऐप प्रकाशित किया। यह कुछ परीक्षक के लिए संगत नहीं था। यह संदेश स्पष्ट नहीं था कि ऐप संगत क्यों नहीं है, क्योंकि मुझे लगा कि मैंने ऐप को केवल कुछ देशों के लिए उपलब्ध होने के लिए प्रतिबंधित किया है। यह समस्या थी, लेकिन जैसा कि मैंने कहा संदेश स्पष्ट नहीं था। Play Store WebApp में संदेश है: "यह ऐप आपके डिवाइस के अनुकूल नहीं है"। मोबाइल ऐप में संदेश "यह ऐप आपके देश में उपलब्ध नहीं है"


0

यदि आप यहां 2020 में हैं और आपको लगता है कि त्रुटि संदेश प्राप्त करने वाला उपकरण संगत होना चाहिए:

इसमें कई अन्य प्रमुख ऐप इंस्टाग्राम (1B + इंस्टॉल) और क्लैश ऑफ क्लंस (100M + इंस्टॉल) सहित चलाए गए हैं। यह Google के Android ऑपरेटिंग सिस्टम के साथ एक मुद्दा प्रतीत होता है।

"आपका डिवाइस इस संस्करण के अनुकूल नहीं है" त्रुटि संदेश को ठीक करने के लिए, Google Play Store कैश और फिर डेटा साफ़ करने का प्रयास करें। इसके बाद, Google Play Store को पुनरारंभ करें और ऐप को फिर से इंस्टॉल करने का प्रयास करें।

[ https://support.getupside.com/hc/en-us/articles/226667067--Device-not-compatible-error-message-in-Google-Play-Store]

Google के आधिकारिक सहायता पृष्ठ का एक लिंक यहां दिया गया है जिससे आप अपने उपयोगकर्ताओं को कैश साफ़ करने के लिए लिंक कर सकते हैं: https://support.google.com/googleplay/answer/7513003

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.