Установить не удалось CPU ABI несовместимый на устройстве с помощью intellij

Я видел некоторые вопросы об этом, но ни с реальными ответами, ни с деталями. Вот мой случай:

У меня есть приложение, которое использует Google Maps API v2, который работает просто отлично. Недавно я узнал, что не могу установить его на этой Не устройство на основе ARM.

чтобы прибить проблему, я работаю с образцами Google Maps, предоставленными с SDK (sdkextrasgooglegoogle_play_servicessamples)

что дает мне то же сообщение об ошибке во время установки:

Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]

Я получаю это сообщение только на реальном устройстве с помощью Intellij (12.1.1)

он отлично работает как с Eclipse на реальном устройстве, так и с Intellij на эмуляторе, настроенном с CPU: Intel Atom (x86)

любая помощь будет высоко ценится!

обновление

как и ожидалось, то же самое происходит с Android Studio

3 ответов


по умолчанию, IntelliJ предполагает, что libs папка в корне модуля Android содержит собственные библиотеки, даже если она просто содержит банки. Таким образом, он упаковывает APK, делая его похожим на родные библиотеки. У меня просто была аналогичная проблема, когда мое приложение не имело собственного кода и работало на эмуляторе по умолчанию, но получило предупреждение ABI при установке на эмулятор Genymotion. Чтобы исправить это, скажите IntelliJ (или Android Studio), что ваши библиотеки не являются родными код:

  1. открыть File -> Project Structure.
  2. клик Modules С левой стороны окна.
  3. для каждого модуля Android разверните раскрывающийся список и выберите Android подэлемента.
  4. на Structure вкладка справа, удалить содержимое Native libs directory поле (вы можете оставить его пустым).
  5. как только вы сделали это для каждого модуля Android в проекте и применили изменения, вам может потребоваться перестроить проект, чтобы изменения произошли выбор Build -> Rebuild Project из глобального меню IntelliJ.

последний Genymotion не будет поддерживать двоичный ARM. Если у вас есть собственный код, скомпилированный для ARM, вы можете использовать Genymotion-ARM-Translation. Просто перетащите этот файл в домашнюю папку Genymotion и перезагрузитесь.

ссылка. http://forum.xda-developers.com/showthread.php?t=2528952.


В Android studio исправьте эту проблему:

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