3 votes

Est-il possible d'installer une application compilée pour ARM sur une image d'émulateur x86 ?

J'ai essayé d'installer une apk en ligne sur un appareil virtuel, mais elle ne s'installe pas à cause de INSTALL_FAILED_NO_MATCHING_ABIS.

Je peux l'installer sur une image ARM, mais les images ARM sont très lentes sur mon ordinateur. Il est donc possible de convertir ou de modifier l'apk pour utiliser x86 ?

L'une des réponses à cette question poste a déclaré : "Si vous utilisez Genymotion, vous devez Installation de la traduction ARM et de GApps ". Mais les commentaires sur cette réponse indiquent qu'elle ne fonctionne plus.

Existe-t-il un moyen d'y parvenir ?

5voto

ccpizza Points 465

Genymotion avec traduction ARM

Vous pouvez utiliser genymotion (la version à usage personnel est gratuite) avec une ROM Oreo + ARM_Translation_Oreo.zip (googlez le nom du fichier pour le télécharger). Une fois le zip téléchargé, il suffit de le glisser-déposer dans la fenêtre de l'émulateur, d'accepter l'invite puis de redémarrer l'émulateur. Ce n'est pas une solution légère puisque genymotion utilise virtualbox comme backend mais cela fonctionne bien plus rapidement que les images arm de google disponibles avec Android studio.

Émulateur Android standard avec une image ARM

Une autre option (qui ne répond pas directement à votre question) consiste à utiliser une image ARM au lieu d'une image X86. Dans Android Studio > Outils > Gestionnaire AVD > Créer un dispositif virtuel lorsque vous êtes invité à Sélectionner une image système sélectionner le Autres images et choisir une image basée sur arm - ces images fonctionneront TRÈS lentement par rapport à X86. Un avertissement vous indiquera que ce n'est pas recommandé, mais vous pourriez obtenir des performances acceptables si vous sélectionnez la plus ancienne version de l'API possible (en fonction de vos besoins) avec une faible résolution d'écran.

4voto

Andy Brudtkuhl Points 1714

Non, ce n'est pas possible. Vous devez trouver une version de l'application qui a été compilée pour x86, ou sans aucune partie spécifique à l'architecture (c'est-à-dire Java uniquement).

2voto

Jason Zong Points 1

Dans l'émulateur Android https://developer.Android.com/studio/releases/emulator Cette page met en évidence le fait que l'application basée sur arm peut être installée et exécutée sur l'émulateur Android 9 et 11.

Comme le dit @K3rnel31, l'émulateur Android 11 ne peut pas démarrer en tant que système inscriptible. Android sera votre ami. Il faut télécharger l'image système "Android 9.0 Google X86_ARM".

0voto

Hichem Points 101

Pour l'instant Android R (11) x86_64 supporte l'application arm, je l'ai testé et il fonctionne, mais il n'y a aucun moyen de le Root, si vous cherchez des applications de test, ce sera pour rien.

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