INSTALL_FAILED_CPU_ABI_INCOMPATIBLE на устройстве с использованием intellij
Я видел некоторые вопросы по этому поводу, но ни с реальными ответами, ни с деталями. Вот мой случай:
У меня есть приложение, которое использует API Google Maps v2, который работает отлично. Недавно я узнал, что я не могу установить его на это, а не на устройство на базе ARM.
Чтобы решить проблему, я работаю с образцами Карт Google, представленными в SDK (\ sdk\extras\google\google_play_services\samples)
который дает мне то же сообщение об ошибке во время установки:
Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]
Я получаю это сообщение только на реальном устройстве, используя Intellij (12.1.1)
Он отлично работает с использованием как Eclipse на реальном устройстве, так и с помощью Intellij на эмуляторе, настроенного с процессором: Intel Atom (x86)
Любая помощь будет высоко оценена!
UPDATE
Как и ожидалось, то же самое происходит с Android Studio
Ответы
Ответ 1
По умолчанию IntelliJ предполагает, что папка libs
в корневом модуле Android содержит собственные библиотеки, даже если она просто держит банки. Таким образом, пакет APK делает его похожим на то, что это родные библиотеки. У меня просто была аналогичная проблема, когда у моего приложения не было собственного кода и он работал на эмуляторе по умолчанию, но получил предупреждение ABI при установке в эмулятор Genymotion. Чтобы исправить это, сообщите IntelliJ (или Android Studio), что ваши библиотеки не являются внутренним кодом:
- Откройте
File -> Project Structure
.
- Нажмите
Modules
в левой части окна.
- Для каждого модуля Android разверните раскрывающийся список и выберите подэлемент
Android
.
- На вкладке
Structure
справа удалите содержимое поля Native libs directory
(вы можете оставить его пустым).
- После того, как вы сделали это для каждого модуля Android в проекте и применили изменения, вам может потребоваться перестроить проект для изменений, которые будут иметь место, выбрав
Build -> Rebuild Project
из глобального меню IntelliJ.
Ответ 2
Последний Genymotion не поддерживает двоичный файл ARM. Если у вас есть собственный код, скомпилированный для ARM, вы можете использовать Genymotion-ARM-Translation. Просто перетащите этот файл в домашнюю папку Genymotion и перезагрузитесь.
Справочник.
http://forum.xda-developers.com/showthread.php?t=2528952.
Ответ 3
В студии android, исправить эту проблему:
1 Скачать Genymotion-ARM-Translation_v1.1.zip
скачать URL:
https://forum.xda-developers.com/attachment.php?s=9f1870536cb530a1346794b6ef629e90&attachmentid=2680937&d=1397258016
2 Перетащите zip файл в действующее виртуальное устройство и нажмите ok
3 перезапуск виртуального устройства Genymotion