Installer app sur genymotion dispositif, répondre: "installer a échoué CPU ABI INCOMPATIBLE"

Lorsque j'installe mon application sur un périphérique Genymotion simulater, elle ne peut pas être bien installée, sur console j'ai eu " INSTALL_FAILED_CPU_ABI_INCOMPATIBLE" Je trid une autre application, il a installé bien.Je ne sais pas pourquoi.

23
demandé sur topxebec 2013-12-06 08:50:36

5 réponses

L'application (certainement un jeu) doit être ARM seulement. Genymotion est une plate-forme x86, donc compiler l'application pour cibler x86.

Vous pouvez peut-être installer le support de bras manuellement : http://forum.xda-developers.com/showthread.php?t=2528952

37
répondu slvn 2013-12-06 16:12:02

Si vous utilisez IntelliJ, cela peut être lié à la configuration par défaut du projet. IntelliJ supposera, sauf indication contraire, que les bibliothèques natives seront stockées dans le dossier Libs. C'est généralement là que les développeurs stockent leurs bibliothèques JAR. IntelliJ build process va empaqueter le fichier JAR dans le dossier de fichier natif dans L'APK.

Si vous rencontrez ce problème, vous pouvez trouver un bon Comment:

INSTALL_FAILED_CPU_ABI_INCOMPATIBLE Intellj

Cela a aidé à résoudre le problème que j'avais.

7
répondu hylander0 2014-02-06 19:16:09

Vous voudrez peut-être vérifier ma réponse ici:

INSTALL_FAILED_CPU_ABI_INCOMPATIBLE sur le périphérique utilisant intellij

Je sais qu'il est écrit pour IntelliJ, mais vous pourriez rencontrer un problème similaire avec Eclipse où il pense que certains fichiers Java normaux ou bibliothèques jar sont du code natif et l'inclure dans l'APK compilé. Un moyen rapide de le savoir est d'ouvrir L'APK final (c'est juste un fichier jar, donc la plupart des utilitaires devraient être capables de le décompresser) et assurez-vous que les seules choses que vous voyez sont META-INF, res, AndroidManifest.xml, classes.dex, et resources.arsc. Il est possible qu'il existe d'autres fichiers valides dans une application Android Java normale, mais en général, si vous voyez autre chose, en particulier un dossier libs, c'est probablement le résultat du processus de compilation pensant que ces autres choses sont des bibliothèques natives (code C/C++ compilé en utilisant le JNI).

Si c'est le cas, vous devrez configurer Eclipse pour ne pas interpréter les bibliothèques Java que vous utilisez comme natives code. Maintenant, je n'utilise pas personnellement Eclipse, donc je ne sais pas où seraient les paramètres appropriés, mais basé sur cette réponse , Il semble que Eclipse suppose automatiquement que le dossier libs à la racine de votre projet contient des bibliothèques natives. La solution la plus simple peut être de déplacer toutes les bibliothèques Java que vous utilisez dans un dossier différent (tel que libraries).

3
répondu FuegoFro 2017-05-23 12:26:07

Http://blog.iteedee.com/2014/02/android-install_failed_cpu_abi_incompatible-intellj/ L'erreur INSTALL_FAILED_CPU_ABI_INCOMPATIBLE est générée lorsque vous tentez d'installer une application android sur un périphérique doté d'une architecture CPU non prise en charge. Cette erreur est généralement liée aux bibliothèques natives qui ne sont pas empaquetées pour l'architecture CPU du périphérique (par exemple: x86, ARMv6, ARMv7, etc.).

Maintenant, si vous avez une application qui n'utilise pas de bibliothèques natives ou de fichier*. so vous pourriez être gratter la tête sur celui-ci. Si vous utilisez IntelliJ IDEA IDE pour votre développement android, il se peut qu'il empaquette tous vos associés .Fichier JAR dans l'emplacement du fichier de bibliothèque Native dans votre APK.

1
répondu ltzMaxwell 2014-12-30 06:05:28

La cause du même problème était différente dans mon cas.

J'avais ajouté des jars de dépendance dans le répertoire /libs de mon projet D'application Android. L'un de ces pots avait exporté une bibliothèque au format jar; c'est-à-dire un jar dans un fichier jar. J'ai remarqué que l'apk créé en utilisant des pots avec une telle structure est incompatible avec les périphériques basés sur x86 (Je ne sais pas pourquoi).

0
répondu Pawan 2014-10-30 11:13:04