web-dev-qa-db-fra.com

Installez l'application sur le dispositif genymotion en respectant: “INSTALL_FAILED_CPU_ABI_INCOMPATIBLE”.

Lorsque j'installe mon application sur un simulateur Genymotion, elle ne peut pas être installée correctement. J'ai reçu "INSTALL_FAILED_CPU_ABI_INCOMPATIBLE" J'ai créé une autre application, elle s'est bien installée.

23
topxebec

L’application (certainement un jeu) doit être ARM uniquement . Genymotion est une plate-forme x86, aussi compilez-la pour cibler x86.

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

37
slvn

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. Le processus de construction d'IntelliJ conditionnera le fichier JAR dans le dossier de fichiers natif de l'APK.

Si vous rencontrez ce problème, vous pouvez trouver un bon How-to:

INSTALL_FAILED_CPU_ABI_INCOMPATIBLE Intellj

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

7
hylander0

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

INSTALL_FAILED_CPU_ABI_INCOMPATIBLE sur le périphérique utilisant intellij

Je sais que cela a été écrit pour IntelliJ, mais vous pourriez rencontrer un problème similaire avec Eclipse où il est supposé que certains fichiers Java normaux ou bibliothèques de fichiers jar sont du code natif et qu’ils l’incluent dans le fichier APK compilé. Un moyen rapide de le savoir consiste à ouvrir l'APK final (il ne s'agit que d'un fichier jar, la plupart des utilitaires devraient donc pouvoir le décompresser) et assurez-vous que les seules informations affichées sont META-INF, res, AndroidManifest.xml, classes.dex et resources.arsc. . Il est possible qu’il existe d’autres fichiers valides dans une application Java Android 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 éléments sont des bibliothèques natives (compilé en C)./Code C++ utilisant le JNI).

Si tel est le cas, vous devrez configurer Eclipse pour qu'il n'interprète pas les bibliothèques Java que vous utilisez en tant que code natif. Personnellement, je n’utilise pas personnellement Eclipse, je ne sais donc pas où se trouveraient les paramètres appropriés, mais si l’on se base sur this answer, il semblerait qu’Eclipse présume automatiquement que le dossier libs situé à la racine de votre projet contient bibliothèques natives. La solution la plus simple peut être de déplacer les bibliothèques Java que vous utilisez dans un autre dossier (tel que libraries).

3
FuegoFro

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 essayez d'installer une application Android sur un périphérique avec une architecture de processeur non prise en charge. Cette erreur est généralement liée aux bibliothèques natives qui ne sont pas intégrées à l’architecture de la CPU du périphérique (x86, ARMv6, ARMv7, etc.).

Maintenant, si vous avez une application qui n’utilise pas de bibliothèques natives ni de fichiers * .so, vous risquez de vous tromper la tête. Si vous utilisez IntelliJ IDEA IDE pour votre développement Android, il est peut-être en train de regrouper tous vos fichiers .JAR associés dans l'emplacement de fichier de la bibliothèque native de votre APK.

1
ltzMaxwell

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

J'avais ajouté des fichiers de dépendance dans le répertoire /libs de mon projet d'application Android. Une de ces jarres avait exporté une bibliothèque au format jar; c'est-à-dire un bocal dans un fichier de bocal. J'ai remarqué que les fichiers apk créés à l'aide de jars dotés d'une telle structure sont incompatibles avec les périphériques x86 (je ne sais pas pourquoi).

0
Pawan