1 votes

Vérifier via un script si une application donnée est interdite à l'installation sur un appareil donné ?

(NOTE : le texte de cette question a été mis à jour pour le rendre beaucoup plus clair qu'avant sur ce que je recherche réellement).

Je cours sur Android 11 standard sur un appareil et Android 13 standard sur un autre appareil.

Je voudrais écrire un script en ligne de commande (pas une application implémentée en Java) qui peut s'exécuter sur ces deux systèmes et sur de nombreux autres appareils/OS Android, et qui peut vérifier si une application donnée serait interdite d'installation via le Play Store sur l'appareil spécifique où le script s'exécute.

Pour être clair, je ne m'intéresse pas simplement à savoir si l'application existe dans le Play Store sur le web. Je recherche quelque chose de plus spécifique :

Certaines applications qui existent dans le Play Store sur le web pour une installation générale pourraient être interdites pour l'installation sur un appareil spécifique particulier. Cela pourrait être pour des raisons de sécurité (par exemple, l'intégrité de l'APPAREIL n'est pas rapportée sur l'appareil), ou cela pourrait être parce que la version Android de l'appareil est trop basse, ou il pourrait y avoir d'autres raisons possibles. Dans ces cas, l'application n'apparaît même pas dans le Play Store de l'appareil lors de la recherche pour son installation, bien que la même application apparaîtra en effet dans une recherche sur le Play Store sur d'autres appareils qui n'ont pas ces types de problèmes.

Je veux pouvoir interroger d'une manière ou d'une autre l'installation actuelle du Play Store de l'appareil (pas les pages Play Store génériques accessibles sur le web) pour voir si l'application donnée pourrait être interdite d'installation sur l'appareil actuel.

Un exemple est l'application Netflix. Si le téléphone ne rapporte pas l'intégrité au niveau de l'APPAREIL, l'utilisateur ne verra même pas Netflix comme existant lors de sa recherche dans le Play Store sur cet appareil particulier.

C'est le cas pour lequel je cherche une solution.

Par exemple, supposons pour les besoins de cette discussion que l'application soit effectivement Netflix. Le nom de package de cette application particulière est "com.netflix.mediaclient". Si mon script proposé s'appelle "app-in-playstore.sh", je voudrais être capable de faire ce qui suit, et avoir le script imprimer soit "false" ou "true" sur stdout, en fonction de savoir si cette application Netflix est interdite d'installation via le Play Store sur l'appareil sur lequel le script s'exécute, ou si son installation est effectivement autorisée sur cet appareil particulier ...

/system/bin/sh app-in-playstore.sh com.netflix.mediaclient

(ou peut-être précédé de "su -c" sur un appareil rooté).

Si l'appareil actuel rapporte l'intégrité de l'APPAREIL au moment où ce script est exécuté, le script devrait imprimer "true", car Netflix apparaîtrait en effet dans le Play Store de l'appareil comme installable.

Si l'appareil actuel ne rapporte pas l'intégrité de l'APPAREIL au moment où ce script est exécuté, le script devrait imprimer "false", car Netflix n'apparaîtrait pas dans le Play Store de l'appareil comme installable.

Pour être clair, ce n'est pas seulement lié à Netflix. Je l'utilise juste comme exemple ici, car je sais qu'il ne s'affiche pas dans le Play Store si le téléphone ne signale pas l'intégrité de l'APPAREIL. Je suis sûr qu'il existe d'autres applications traitées de manière similaire, et je veux que mon script puisse identifier ces autres applications de la même manière.

Est-il possible d'écrire un tel script ? Et si oui, comment cela pourrait-il être accompli ?

Merci beaucoup d'avance.

2 votes

Si une application est installable ou non est déterminé par le Play Store du côté serveur, elle n'est donc pas accessible pour un script. Même pour une application, c'est très très compliqué. Voir les sources d'Aurora Store (et même Aurora Store ne parvient pas à obtenir toutes les applications que le Play Store peut télécharger). La seule façon que je vois pour vous est d'ouvrir l'application Play Store avec l'application à installer de manière automatisée, puis d'analyser les éléments de l'interface utilisateur si le bouton d'installation est disponible. Je ne suis pas sûr du logiciel qui peut être utilisé pour le faire.

0 votes

Merci, @Robert. J'avais peur que cela puisse être le cas. Je fais déjà quelque chose de similaire avec l'analyse de l'interface utilisateur pour accéder aux options du développeur du Play Store et interroger l'intégrité de l'appareil signalé via une combinaison de Tasker et AutoInput, et je suppose que ce serait le mieux que je pourrais faire dans ce cas également. Oh et bien ... (soupire) ...

0voto

Avanst Points 513

Sur la base du commentaire utile de @Robert, il semble que la seule façon d'automatiser la vérification de la possibilité ou non que Google interdise l'installation d'une application résidente dans un Web-store sur un appareil donné d'un utilisateur donné serait d'utiliser l'interaction basée sur "uiautomation" avec l'écran du Play Store sur l'appareil lui-même.

Cela pourrait être fait via l'utilitaire uiautomation lui-même, ou également via Tasker travaillant avec AutoInput.

J'espérais éviter ce genre de solution, mais peut-être que je suis coincé avec ça.

En tout cas, je laisserai cette question ouverte, au cas où de nouvelles informations pourraient arriver à l'avenir pour aider éventuellement avec cela.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X