Comment Google Play fonctionne-t-il si une application est compatible avec mon appareil?

17

J'ai une tablette Android "générique", et souvent lorsque je viens d'installer et d'appliquer une application, Google Play dit qu'elle est incompatible avec mon appareil. Cela se produit même sur des applications populaires telles que Twitter, Instagram, Evernote, Foursquare et même Google Maps!

Je sais que cela fonctionne, car si je copie l'APK de mon téléphone Motorola sur cette tablette et l'installe manuellement, cela fonctionne bien (au moins Instagram et Twitter le font).

Je n'essaye pas de faire fonctionner Instagram sur ma tablette. J'essaie de trouver un moyen d'installer les applications à partir du Play Store.

Google Play dit que les applications sont incompatibles

Comment et où Google Play effectue-t-il une vérification de compatibilité sur mon appareil? Je soupçonne que le chèque échoue d'une manière ou d'une autre. Je souhaite pouvoir installer des applications qui fonctionneront sur mon appareil et empêcher Google Play de m'empêcher.

Ce gars brésilien
la source
2
Les applications ne sont pas bloquées à cause du pays de mon appareil, je le sais parce que quand il est bloqué à cause du pays, le message est différent i.imgur.com/B69bn.png et il ne s'affichera même pas sur Google Play, Je dois ouvrir la page sur mon bureau.
Ce brésilien Guy
1
Mon téléphone Motorola Defy et ma tablette gerenic Genesis fonctionnent sous Android 4 (Cyanogenmod 9 dans le cas de mon téléphone, rom inconnu dans le cas d'une tablette).
Ce brésilien Guy

Réponses:

10

Lorsque les développeurs créent des applications, ils doivent spécifier toutes les exigences matérielles / logicielles dans un fichier appelé androidmanifest.xmlfichier.

Il peut s'agir d'exigences matérielles ou logicielles, par exemple si l'application a besoin d'un GPS ou de fonctionnalités de téléphonie - ou si elle ne fonctionne que sur une certaine version d'Android.

Lorsque vous utilisez Google Play, il envoie les «fonctionnalités» de votre appareil au serveur, puis filtre les applications en conséquence.

La raison la plus probable pour laquelle il est jugé incompatible par Google Play est qu'il est configuré pour nécessiter une certaine résolution d'écran - ou peut-être par défaut en mode portrait / paysage.

Certaines tablettes ont une faible résolution et indiquent également à Google Play qu'elles ne peuvent pas passer en mode portrait.

Il se peut également, votre tablette étant générique, qu'elle ne dispose pas du GPS ou des capteurs requis dont le fichier le plus précis indique qu'elle a besoin, et le marché vous empêche d'installer à cause de cela.

Je vais découvrir ce dont l'application instagram a besoin (regardez-la manifeste) et éditerai cette réponse pour vous.

ÉDITER:

Selon le manifeste Instagram, le seul élément «requis» est la version glEs - minimum 131072. Cela pourrait également être dû au paramètre de pays / opérateur de votre tablette.

Twitter a besoin d'un minimum d'Android 2.1, et peut également avoir besoin d'un vibrateur, car il utilise l'autorisation de vibration.

Liam W
la source
1
Non, ce n'est pas à cause du pays de mon appareil, ni du transporteur. Il n'a pas de support (pas de capacités GSM ou téléphoniques), et lorsqu'une application est bloquée en raison du pays, le message affiché est différent - i.imgur.com/B69bn.png
That Brazilian Guy
@ ruda.almeida Couvrant toutes les limites ...
Liam W
Pas de problème, je fournissais juste plus de données, merci pour vos efforts!
Ce brésilien Guy
1
@ ruda.almeida Si une application demande l'autorisation de téléphonie (pour envoyer / recevoir des SMS), elle aura également besoin de matériel de téléphonie.
Liam W
0

Je sais que vous ne pensez pas que cela soit dû à votre pays. Cependant, j'ai remarqué que votre capture d'écran était dans une langue autre que l'anglais. Je suis un développeur Android, donc je suis en quelque sorte familier avec la localisation . Fondamentalement, les applications ont certains localesqui "représentent une combinaison langue / pays / variante. Les paramètres régionaux sont utilisés pour modifier la présentation des informations telles que les nombres ou les dates en fonction des conventions dans la région qu'ils décrivent" (voir ceci sur le site de développement Android ). Cela a attiré mon attention:

Le code Java d'une application ne fait référence qu'à deux chaînes, text_a et text_b. Cette application comprend un fichier de ressources localisé (res / values-en / strings.xml) qui définit text_a et text_b en anglais. Cette application comprend également un fichier de ressources par défaut (res / values ​​/ strings.xml) qui inclut une définition pour text_a, mais pas pour text_b:

Cette application peut se compiler sans problème. Un IDE tel qu'Eclipse ne mettra en évidence aucune erreur si une ressource est manquante. Lorsque cette application est lancée sur un appareil dont les paramètres régionaux sont définis sur l'anglais, l'application peut s'exécuter sans problème, car res / values-en / strings.xml contient les deux chaînes de texte nécessaires. Cependant, l'utilisateur verra un message d'erreur et un bouton Forcer la fermeture lorsque cette application sera lancée sur un appareil défini dans une langue autre que l'anglais. L'application ne se charge pas.

Notez la partie sur la façon dont l'application peut être compilée sans problème, mais peut également afficher un message d'erreur et Forcer la fermeture si le périphérique a des paramètres régionaux qui ne sont pas pris en charge par cette application. Je me rends compte que ce n'est pas ce qui vous arrive, mais cela pourrait être lié à votre problème, car Google Play verra que votre appareil peut être défini sur un environnement local que l'application en question ne prend pas en charge ou ne dispose pas d'un ensemble spécifique de ressources. Google Play pourrait masquer cette application de votre appareil, même si cela peut fonctionner correctement en raison des ressources par défaut que le développeur a probablement écrites, mais Google Play peut décider qu'il ne veut pas risquer un client en colère à cause d'un problème de fermeture forcée afin qu'il puisse simplement cachez-le complètement de vous. Encore une fois, ce n'est qu'une idée et je me rends compte que vous voyez un message différent d'incompatibilité avec votre pays. J'espère que cela t'aides.

ninge
la source
1
Intéressant, je n'en avais aucune idée (et je soupçonne que quelques développeurs l'ignorent aussi). Cependant, mon téléphone et ma tablette sont configurés pour fonctionner dans la même langue. Je sais qu'il existe plusieurs attributs système différents pour définir la langue, le pays, les paramètres régionaux, etc., j'ai quelques applications système qui les affichent, je vais les exécuter et ajouter les informations à ma question.
Ce brésilien Guy
1
Content d'avoir pu vous ouvrir une nouvelle porte. Vous voudrez peut-être consulter les deux pages de développeur que j'ai fournies, car quelque chose peut apparaître pour vous aider.
ninge
1
Les vérifications de compatibilité de Google Play ne sont pas basées sur les paramètres régionaux. De plus, il est normal que le développeur ait les ressources d'un environnement local (comme l'anglais) par défaut, donc dans un environnement local non pris en charge, il utilisera simplement les ressources par défaut.
Dan Hulme