Когда я устанавливаю свое приложение на устройстве simymater для genymotion, его нельзя установить хорошо, на консоли я получил "INSTALL_FAILED_CPU_ABI_INCOMPATIBLE" Я trid другое приложение, оно установлено fine.I не знаю почему.
Установите приложение на устройство genymotion, выполните: "INSTALL_FAILED_CPU_ABI_INCOMPATIBLE"
Ответ 1
Приложение (конечно, игра) должно быть только ARM. Genymotion - платформа x86, поэтому скомпилируйте приложение для целевой x86.
Возможно, вы сможете установить поддержку ARM вручную: http://forum.xda-developers.com/showthread.php?t=2528952
Ответ 2
Если вы используете IntelliJ, это может быть связано с конфигурацией по умолчанию проекта. IntelliJ предполагает, если не указано иное, что родные библиотеки будут храниться в папке Libs
. Обычно разработчик хранит библиотеки JAR
. Процесс сборки IntelliJ упакует файл JAR
в папку Native file в APK.
Если у вас возникла эта проблема, вы можете найти хороший How-to:
INSTALL_FAILED_CPU_ABI_INCOMPATIBLE Intellj
Это помогло решить проблему, которая у меня была.
Ответ 3
Вы можете проверить мой ответ здесь:
INSTALL_FAILED_CPU_ABI_INCOMPATIBLE на устройстве с использованием intellij
Я знаю, что это написано для IntelliJ, но вы можете столкнуться с аналогичной проблемой с Eclipse, где он считает, что некоторые нормальные файлы Java или библиотеки jar являются собственным кодом и включают его в скомпилированный APK. Быстрый способ узнать - открыть финальный APK (это просто файл jar, поэтому большинство утилит должны быть способны его распаковать) и убедитесь, что единственные вещи, которые вы видите, - META-INF
, res
, AndroidManifest.xml
, classes.dex
и resources.arsc
. Возможно, есть и другие допустимые файлы в обычном приложении Java Android, но в целом, если вы видите что-то еще там, особенно в папке libs
, это, вероятно, результат процесса компиляции, считая, что эти другие вещи являются родными библиотеками ( скомпилированный код C/С++ с использованием JNI).
Если это так, вам нужно настроить Eclipse, чтобы не интерпретировать библиотеки Java, которые вы используете в качестве собственного кода. Теперь я лично не использую Eclipse, поэтому я не знаю, где будут правильные настройки, но исходя из ответа this, похоже, что Eclipse автоматически предполагает, что папка libs
в корневом каталоге вашего проекта содержит собственные библиотеки. Самым простым решением может быть перемещение любых библиотек Java, которые вы используете, в другую папку (например, libraries
).
Ответ 4
http://blog.iteedee.com/2014/02/android-install_failed_cpu_abi_incompatible-intellj/ Ошибка INSTALL_FAILED_CPU_ABI_INCOMPATIBLE генерируется при попытке установить приложение Android на устройстве с неподдерживаемой архитектурой процессора. Эта ошибка обычно связана с родными библиотеками, которые не упакованы для архитектуры процессора устройств (например, x86, ARMv6, ARMv7 и т.д.).
Теперь, если у вас есть приложение, которое не использует какие-либо родные библиотеки или *.so файл, вы можете почесывать его на этом. Если вы используете IntelliJ IDEA IDE для разработки Android, он может упаковать весь ваш связанный файл .JAR в папку Native Library в вашем APK.
Ответ 5
Причиной одной и той же проблемы было другое в моем случае.
Я добавил некоторые баны зависимости в директории /libs
моего проекта приложения для Android. Одна из этих банок экспортировала библиотеку в формате jar; т.е. банку в файле jar. Я заметил, что apk, созданный с использованием jars с такой структурой, несовместим с устройствами на базе x86 (не знаю почему).