L'installation a échoué CPU ABI INCOMPATIBLE sur le périphérique utilisant intellij

J'ai vu quelques questions à ce sujet, mais aucune avec des réponses réelles ni des détails. Voici mon cas:

J'ai une application qui utilise Google Maps API v2, qui fonctionne très bien. Récemment, j'ai découvert que je ne peux pas l'installer sur Ce périphérique non basé sur ARM.

Afin de résoudre le problème, je travaille avec des échantillons Google Maps fournis avec le SDK (sdkextrasgooglegoogle_play_services samples)

Qui me donne le même message d'erreur à temps d'installation:

Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]

Je reçois ce message uniquement sur un périphérique réel utilisant Intellij (12.1.1)

Cela fonctionne bien en utilisant Eclipse sur un périphérique réel et en utilisant Intellij sur l'émulateur configuré avec CPU: Intel Atom (x86)

Toute aide serait très appréciée!

Mise à JOUR

Comme prévu, la même chose se produit avec Android Studio

38
demandé sur Androiderson 2013-04-12 01:06:23

3 réponses

Par défaut, IntelliJ suppose que le dossier libs à la racine d'un module Android contient des bibliothèques natives, même s'il ne contient que des jars. Ainsi, il empaquette L'APK en le faisant ressembler à ce sont des bibliothèques natives. Je viens d'avoir un problème similaire où mon application n'avait pas de code natif et fonctionnerait sur l'émulateur par défaut, mais a reçu L'avertissement ABI lors de l'installation sur L'émulateur Genymotion. Pour résoudre ce problème, dites à IntelliJ (ou Android Studio) que vos bibliothèques ne sont pas natives code:

  1. Ouvrir File -> Project Structure.
  2. Sur Modules sur le côté gauche de la fenêtre.
  3. pour chaque module Android, développez la liste déroulante et sélectionnez le sous-élément Android.
  4. dans l'onglet Structure à droite, supprimez le contenu du champ Native libs directory (vous pouvez le laisser vide).
  5. Une fois que vous avez fait cela pour chaque module Android du projet et appliqué les modifications, vous devrez peut-être reconstruire votre projet pour que les modifications aient lieu en choisissant Build -> Rebuild Project dans Global D'IntelliJ menu.
104
répondu FuegoFro 2013-11-25 05:55:32

Le Dernier Genymotion ne supportera pas le binaire ARM. Si vous avez compilé du code natif pour ARM, vous pouvez utiliser Genymotion-Arm-Translation. Il suffit de glisser-déposer ce fichier dans le dossier D'accueil Genymotion et redémarrez .

Référence. http://forum.xda-developers.com/showthread.php?t=2528952.

12
répondu sreekumar 2014-07-12 10:18:43

Dans android studio, corrigez ce problème:

1 Télécharger Genymotion-ARM-Translation_v1.1.zip

Url de Téléchargement:

Https://forum.xda-developers.com/attachment.php?s=9f1870536cb530a1346794b6ef629e90&attachmentid=2680937&d=1397258016

2 faites Glisser le fichier zip dans votre périphérique virtuel et cliquez sur ok

3 Redémarrez le périphérique virtuel Genymotion

1
répondu terwxqian 2017-07-04 10:04:11