it-swarm.com.ru

Установите приложение на устройство genymotion, встречайте: "INSTALL_FAILED_CPU_ABI_INCOMPATIBLE"

Когда я устанавливаю свое приложение на устройство имитации genymotion, оно не может быть установлено должным образом, на консоли я получил «INSTALL_FAILED_CPU_ABI_INCOMPATIBLE» Я запустил другое приложение, оно установилось нормально. Я не знаю почему.

23
topxebec

Приложение (безусловно, игра) должно быть только ARM . Genymotion - это платформа x86, поэтому скомпилируйте приложение для целевой платформы x86.

Вы можете установить поддержку ARM вручную: http://forum.xda-developers.com/showthread.php?t=2528952

37
slvn

Если вы используете IntelliJ, это может быть связано с конфигурацией проекта по умолчанию. IntelliJ будет предполагать, если не указано иное, что нативные библиотеки будут храниться в папке Libs. Обычно это место, где разработчики хранят свои библиотеки JAR. Процесс сборки IntelliJ упакует файл JAR в папку Native file в APK.

Если у вас возникла эта проблема, вы можете найти хороший How-to:

INSTALL_FAILED_CPU_ABI_INCOMPATIBLE Intellj

Это помогло решить проблему, которая у меня была.

7
hylander0

Вы можете проверить мой ответ здесь:

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/C++ код с использованием JNI).

В этом случае вам нужно настроить Eclipse, чтобы не интерпретировать библиотеки Java, которые вы используете, как нативный код. Теперь я лично не использую Eclipse, поэтому не знаю, где будут правильные настройки, но исходя из this answer, похоже, что Eclipse автоматически предполагает, что папка libs в корне вашего проекта содержит родные библиотеки. Самым простым решением может быть перемещение любых используемых вами библиотек Java в другую папку (например, libraries).

3
FuegoFro

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.

1
ltzMaxwell

Причина той же проблемы была другой в моем случае.

Я добавил несколько jar-файлов зависимостей в каталог /libs проекта моего приложения для Android. Один из этих jar экспортировал библиотеку в формате jar; то есть баночка внутри файла баночки. Я заметил, что apk, созданный с использованием jar с такой структурой, несовместим с устройствами на базе x86 (не знаю почему).

0
Pawan