Play store meldet "Ihr Gerät ist nicht kompatibel mit dieser version", aber es installiert via adb einfach gut auf dem Nexus7
Habe ich eine app, die ich veröffentlicht, um ein eigenes Google-Play beta. Ich kann installieren Sie dieses genau die gleiche APK auf meinem Nexus 7 einwandfrei mit
adb pm install
aber durch den Google Play store, es markiert ist, für das exakt gleiche Nexus7 als
Your device isn't compatible with this version.
Dies ist die gleichen apk. Ich kann nicht herausfinden, wie man jede information auf, warum der play store denkt, dass es nicht kompatibel ist.
Mein manifest sieht wie folgt aus:
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.CAMERA"></uses-permission>
<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".foobar"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".fooservice" android:exported="false" android:enabled="true" android:label="@string/app_name" android:icon="@drawable/icon">
</service>
</application>
Jede Hilfe zu bestimmen, warum Google Play denkt, dass es nicht kompatibel ist?
Sind Sie mit einem nexus 7 2012 (original)?
Ja, sir, ich bin. Hatte es vorher schon gerootet, aber ich habe vor kurzem reflashed und ist jetzt unbewurzelte mit 4.4.2
Ich +1 würden Sie Ihren Kommentar. Ich glaube, Sie waren immer an der Kamera uses-feature-Ding. Vielen Dank für Ihre Hilfe.
Ja, sir, ich bin. Hatte es vorher schon gerootet, aber ich habe vor kurzem reflashed und ist jetzt unbewurzelte mit 4.4.2
Ich +1 würden Sie Ihren Kommentar. Ich glaube, Sie waren immer an der Kamera uses-feature-Ding. Vielen Dank für Ihre Hilfe.
InformationsquelleAutor spartygw | 2014-01-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das ist vollkommen richtig dieses Verhalten: bitte beachten Sie die offizielle Dokumentation ist hier http://developer.android.com/guide/topics/manifest/uses-feature-element.html.
Das ist der relevante Teil:
Erklärt
<uses-feature>
Elemente sind nur zu Informationszwecken, was bedeutet, dass das Android system selbst wird nicht überprüft, ob die matching-Funktion-Unterstützung auf dem Gerät vor der Installation einer Anwendung. Aber auch andere Dienste (wie Google Play) oder Anwendungen kann überprüfen Sie Ihre Anwendung<uses-feature>
Erklärungen als Teil der Behandlung oder die Interaktion mit Ihrer Anwendung. Aus diesem Grund ist es sehr wichtig, dass Sie erklären alle Funktionen (aus der Liste weiter unten), die Ihre Anwendung verwendet.Also die Tatsache, dass Sie in der Lage sind, installieren Sie die apk über adb ist kein Beweis für ein bestimmtes Gerät werden abfiltriert oder nicht.
Überprüfen Sie auch hier: http://developer.android.com/guide/topics/manifest/uses-permission-element.html
In einigen Fällen werden die Berechtigungen, die Sie anfordern, durch die Sie beeinflussen können, wie Ihre Anwendung wird gefiltert durch Google Play.
Wenn Sie eine Anfrage ein hardware-bezogene Berechtigung — KAMERA, für Beispiel — Google Play wird davon ausgegangen, dass Ihre Anwendung erforderlich ist, die zugrunde liegenden hardware-Funktion und filtert die Anwendung von Geräten, die bieten Sie nicht an.
Update: Sie bestätigt haben, bist du mit dem Nexus 7 2012, so finden Sie in diesem offiziellen blog-post: http://android-developers.blogspot.ch/2012/07/getting-your-app-ready-for-jelly-bean.html.
Google-Staaten "apps erfordern die android.hardware.Kamera-Funktion nicht verfügbar auf Nexus 7".
Wenn Sie Sie brauchen, die Erlaubnis, weil Sie verwenden die Kamera in Ihrer app können Sie tun es programmatisch wie in http://developer.android.com/guide/topics/media/camera.html#detect-camera.
<uses-feature android:name="android.hardware.camera" />
ist nicht kompatibel mit nexus 7?Lesen Sie Ihre Liste Berechtigungen, die READ_PHONE_STATE es verursachen könnte, dass die Google Play filtern Sie Ihre Nexus 7 heraus. Keine chance zu testen, die apk ohne diese Erlaubnis (vielleicht als beta-apk in der dev-Konsole)?
Aha! Tollen Fang. Ich werde versuchen, hin und wieder melden. Leider dauert es manchmal Stunden vor meinem hochgeladen APK-Filter werden über den Play store.
Ok, probieren Sie es aus. Es ist etwas mit den Berechtigungen, die Sie sich Fragen, oder die Funktion, die Sie brauchen.
fügen Sie die required=false tag wie
<uses-permission android:name="android.permission.CAMERA" android:required="false"/>
als Sie benötigen, um den Fall behandeln, der nicht mit einer Kamera im code. siehe den link, den @fasteque gepostetInformationsquelleAutor fasteque
Dies geschah, um meine app ein paar mal. Es stellte sich heraus der Kamera Anforderung war, der diesen Fehler verursacht, wenn Benutzer des Geräts hatte nie verwendet die Kamera seit dem Kauf.
Ich ändern Sie die Kamera-Anforderung nicht erforderlich sein, die folgenden:
Sie müssen möglicherweise auch die <uses-feature - > lines zu lassen, der play store nicht erforderlich, das feature. Meine Erfahrung war, dass, wenn Sie Benutzer hatte nicht verwendet die Kamera auf Ihrem Handy dann irgendwie, es war nicht die Anerkennung der Funktion existiert und die "erforderlichen" Standard-wahr war. Ich erinnere mich nicht, was Handy-version meiner user hatte aber mit alle der obigen Zeilen scheint behoben haben.
InformationsquelleAutor Gravitoid
Sollten Sie Lesen/befolgen Sie diese link von Reto Meier.
Wie gesagt in dem link von nun an müssen Sie Ihre app-Funktionen.
Grundsätzlich eine schnelle Lösung ist zum ausführen aapt dump-badging {- apk} und überprüfen Sie, welche Funktionen Ihre app nutzt. Fügen Sie dann diejenigen, die keine Auswirkungen auf Ihre app-usability, um Ihre manifest-Datei mit der gewünschten Feld auf false gesetzt.
e.g. <uses-feature android:name="android.hardware.camera" android:required="false" />
Dass sollte genug sein.
InformationsquelleAutor manuelvsc
Dies Kann Passieren, wenn Sie geben unnötige Berechtigungen.
in meinem Fall, ich benutze die Erlaubnis
uses-feature android:name="com.sec.Funktion.spen_usp" android:required="true"
Wenn ich entfernen Sie diese Erlaubnis, dann funktioniert es einwandfrei
InformationsquelleAutor Areeba Qurashi