Wie funktioniert Google Play, wenn eine App mit meinem Gerät kompatibel ist?

17

Ich besitze ein "generisches" Android-Tablet. Wenn ich eine App installiere, sagt Google Play häufig, dass es nicht mit meinem Gerät kompatibel ist. Es kommt sogar auf populären Apps wie Twitter, Instagram, Evernote, Foursquare und sogar Google Maps vor!

Ich weiß, dass es funktioniert, denn wenn ich die APK von meinem Motorola-Handy auf dieses Tablet kopiere und sie manuell installiere, läuft sie einwandfrei (zumindest bei Instagram und Twitter).

Ich versuche nicht, Instagram auf meinem Tablet zum Laufen zu bringen. Ich versuche einen Weg zu finden, um die Apps aus dem Play Store zu installieren.

Laut Google Play sind Apps nicht kompatibel

Wie und wo führt Google Play eine Kompatibilitätsprüfung auf meinem Gerät durch? Ich vermute, dass der Scheck irgendwie fehlschlägt. Ich möchte Apps installieren können, die auf meinem Gerät funktionieren, und Google Play daran hindern, mich zu hindern.

Dieser Brasilianer
quelle
2
Die Apps werden aufgrund des Landes meines Geräts nicht blockiert. Ich weiß das, weil die Nachricht, wenn sie aufgrund des Landes blockiert wird, anders ist. I.imgur.com/B69bn.png und nicht einmal bei Google Play angezeigt wird Ich muss die Seite auf meinem Desktop öffnen.
Der Brasilianer
1
Sowohl auf meinem Motorola Defy-Handy als auch auf meinem Genesis-Tablet läuft Android 4 (Cyanogenmod 9 bei meinem Handy, unbekanntes ROM bei Tablet).
Der Brasilianer

Antworten:

10

Wenn Entwickler Apps erstellen, müssen sie alle Hardware- / Softwareanforderungen in einer Datei mit dem Namen " androidmanifest.xmlDatei" angeben .

Dies können Hardware- oder Softwarevoraussetzungen sein, z. B. wenn die App GPS- oder Telefoniefunktionen benötigt oder nur mit einer bestimmten Android-Version funktioniert.

Wenn Sie Google Play verwenden, werden die "Funktionen" Ihres Geräts an den Server gesendet und die Apps entsprechend gefiltert.

Der wahrscheinlichste Grund für die Inkompatibilität von Google Play ist, dass eine bestimmte Bildschirmauflösung erforderlich ist - oder möglicherweise die Standardeinstellungen für den Hoch- / Querformatmodus.

Einige Tablets haben eine niedrige Auflösung und teilen Google Play mit, dass sie nicht in den Hochformatmodus wechseln können.

Es könnte auch sein, dass Ihr Tablet generisch ist und nicht über das erforderliche GPS oder die Sensoren verfügt, die die umfangreichste Datei für erforderlich hält, und der Markt hindert Sie aus diesem Grund an der Installation.

Ich werde herausfinden, was die instagram-App benötigt (siehe Manifest) und diese Antwort für Sie bearbeiten.

BEARBEITEN:

Laut Instagram-Manifest ist das einzige "erforderliche" Element die glEs-Version - mindestens 131072. Dies kann auch an der Ländereinstellung Ihres Tablets / Netzbetreibers liegen.

Twitter benötigt mindestens Android 2.1 und möglicherweise auch einen Vibrator, da er die Vibrationsberechtigung verwendet.

Liam W
quelle
1
Nein, das liegt weder am Land meines Geräts noch am Mobilfunkanbieter. Es hat keinen Netzbetreiber (keine GSM- oder Telefonfunktionen), und wenn eine App aufgrund des Landes gesperrt ist, wird eine andere Meldung angezeigt - i.imgur.com/B69bn.png
Der Brasilianer
@ ruda.almeida Nur für alle Grenzen ...
Liam W
Kein Problem, ich habe nur mehr Daten bereitgestellt, danke für Ihre Bemühungen!
Der Brasilianer
1
@ ruda.almeida Wenn eine App die Telefonieerlaubnis (zum Senden / Empfangen von Texten) anfordert, ist auch Telefonie-Hardware erforderlich.
Liam W
0

Ich weiß, Sie glauben nicht, dass es an Ihrem Land liegt. Ich habe jedoch festgestellt, dass Ihr Screenshot in einer anderen Sprache als Englisch angezeigt wurde. Ich bin ein Android-Entwickler und daher irgendwie vertraut mit der Lokalisierung . Grundsätzlich haben Apps bestimmte Eigenschaften, localesdie "eine Kombination aus Sprache, Land und Variante darstellen. Mithilfe von Gebietsschemas wird die Darstellung von Informationen wie Zahlen oder Datumsangaben an die Konventionen in der von ihnen beschriebenen Region angepasst" (siehe dies auf der Android-Entwicklungswebsite ). Das ist mir aufgefallen:

Der Java-Code einer Anwendung bezieht sich nur auf zwei Zeichenfolgen, text_a und text_b. Diese Anwendung enthält eine lokalisierte Ressourcendatei (res / values-en / strings.xml), die Text_a und Text_b in Englisch definiert. Diese Anwendung enthält auch eine Standardressourcendatei (res / values ​​/ strings.xml), die eine Definition für text_a, jedoch nicht für text_b enthält:

Diese Anwendung lässt sich möglicherweise problemlos kompilieren. Eine IDE wie Eclipse zeigt keine Fehler an, wenn eine Ressource fehlt. Wenn diese Anwendung auf einem Gerät mit der Ländereinstellung Englisch gestartet wird, wird sie möglicherweise problemlos ausgeführt, da res / values-en / strings.xml beide erforderlichen Textzeichenfolgen enthält. Dem Benutzer werden jedoch eine Fehlermeldung und eine Schaltfläche "Schließen erzwingen" angezeigt, wenn diese Anwendung auf einem Gerät gestartet wird, das auf eine andere Sprache als Englisch eingestellt ist. Die Anwendung wird nicht geladen.

Beachten Sie den Teil darüber, wie die Anwendung möglicherweise ohne Probleme kompiliert wird, aber auch eine Fehlermeldung und die Option "Schließen erzwingen" anzeigt, wenn das Gerät ein Gebietsschema hat, das von dieser App nicht unterstützt wird. Mir ist klar, dass dies nicht der Fall ist, sondern sich auf Ihr Problem beziehen könnte, da Google Play erkennt, dass Ihr Gerät möglicherweise auf ein Gebietsschema eingestellt ist, das die betreffende App nicht unterstützt oder für das bestimmte Ressourcen nicht verfügbar sind. Möglicherweise versteckt Google Play diese App auf Ihrem Gerät, obwohl sie aufgrund der vom Entwickler vermuteten Standardressourcen einwandfrei funktioniert. Google Play möchte jedoch möglicherweise nicht, dass ein verärgerter Kunde wegen eines Force Close-Problems das Risiko eingeht verstecke es vollständig vor dir. Auch dies ist nur eine Idee, und mir ist klar, dass Sie eine andere Botschaft für die Unvereinbarkeit mit Ihrem Land sehen. Hoffe das hilft.

Ninge
quelle
1
Interessant, ich hatte keine Ahnung davon (und ich vermute, ein paar Entwickler wissen es auch nicht). Sowohl mein Telefon als auch mein Tablet funktionieren jedoch in derselben Sprache. Ich weiß, dass es ein paar verschiedene Systemattribute gibt, um Sprache, Land, Gebietsschema usw. zu definieren. Ich habe ein paar System-Apps, die sie anzeigen. Ich werde sie ausführen und die Informationen zu meiner Frage hinzufügen.
Der Brasilianer
1
Ich bin froh, dass ich eine neue Tür für dich öffnen konnte. Vielleicht möchten Sie sich die beiden von mir bereitgestellten Entwicklerseiten ansehen, da dort möglicherweise etwas auftaucht, das Ihnen hilft.
Ninge
1
Google Play-Kompatibilitätsprüfungen basieren nicht auf Gebietsschemas. Darüber hinaus hat der Entwickler normalerweise die Standardressourcen eines Gebietsschemas (z. B. Englisch), sodass in einem nicht unterstützten Gebietsschema nur die Standardressourcen verwendet werden.
Dan Hulme