Les images de l'émulateur compatibles avec le Play Store sont des images x86 qui peuvent donc être exécutées plus rapidement sur un processeur Intel/AMD. Les smartphones physiques actuels utilisent tous des processeurs ARM (armv8a 64 bit pour être précis).
Si une application utilise des bibliothèques natives spécifiques au processeur, elle doit inclure une version de ces bibliothèques pour chaque architecture de processeur qu'elle prévoit de prendre en charge. Par conséquent, si l'application que vous souhaitez installer dans l'émulateur ne dispose que de bibliothèques natives pour ARM, elle ne pourra pas être exécutée sur un émulateur x86 et n'apparaîtra donc pas dans le Play Store.
En outre, lors de la publication d'une application dans Play Store, il est possible d'exclure ou d'inclure certains types d'appareils de manière très souple.
Comme votre application peut être installée par chargement latéral, elle semble au moins contenir quelque chose pour la plate-forme x86, mais détecter un émulateur dans une application et faire planter l'application est simple. En outre, il existe de nombreuses façons de détecter un émulateur. Si un développeur d'application ne veut pas qu'une application soit exécutée sur un émulateur, cela peut devenir assez difficile et nécessite des compétences en rétro-ingénierie et en manipulation de code et de nombreuses heures pour la faire fonctionner.
Les applications financières en particulier interdisent l'exécution sur un émulateur, car c'est un moyen courant pour les pirates d'enquêter sur une telle application afin d'attaquer la banque, l'application et ses clients. Certaines applications bancaires refusent même de fonctionner sur des ROM personnalisées ou des appareils rootés.