使用intellij在设备上INSTALL_FAILED_CPU_ABI_INCOMPATIBLE

时间:2013-04-11 21:06:24

标签: android google-maps intellij-idea android-studio

我已经看到了一些关于此的问题,但没有一个有真正的答案或细节。这是我的情况:

我有一个使用 Google Maps API v2 的应用程序,效果很好。最近我发现我无法在this上安装它而不是基于ARM的设备。

为了解决问题,我正在使用随SDK提供的Google地图示例(\ sdk \ extras \ google \ google_play_services \ samples)

在安装时给出了相同的错误消息:

Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]

我只在使用Intellij(12.1.1)

的真实设备上收到此消息

在真实设备上使用Eclipse并在配置了CPU的仿真器上使用Intellij可以正常工作:Intel Atom(x86)

任何帮助都将受到高度赞赏!

更新

正如预期的那样,Android Studio

也会发生同样的事情

3 个答案:

答案 0 :(得分:103)

默认情况下,IntelliJ假定Android模块根目录中的libs文件夹包含本机库,即使它只包含jar。因此,它打包APK使它看起来像这些是本机库。我刚才有一个类似的问题,我的应用程序没有本机代码,可以在默认模拟器上工作,但在Genymotion模拟器上安装时得到了ABI警告。要解决此问题,请告诉IntelliJ(或Android Studio)您的库不是本机代码:

  1. 打开File -> Project Structure
  2. 点击窗口左侧的Modules
  3. 对于每个Android模块,展开下拉列表并选择Android子项。
  4. 在右侧的Structure标签中,删除Native libs directory字段的内容(您可以将其留空)。
  5. 对项目中的每个Android模块执行此操作并应用更改后,您可能需要通过从IntelliJ的全局菜单中选择Build -> Rebuild Project来重建项目以进行更改。

答案 1 :(得分:12)

最新的Genymotion不支持ARM二进制文件。如果您为ARM编译了本机代码,则可以使用Genymotion-ARM-Translation。只需将此文件拖放到Genymotion主文件夹并重新启动即可。

参考。 http://forum.xda-developers.com/showthread.php?t=2528952

答案 2 :(得分:3)

在android studio中,修复此问题:

1下载Genymotion-ARM-Translation_v1.1.zip

下载网址:

https://forum.xda-developers.com/attachment.php?s=9f1870536cb530a1346794b6ef629e90&attachmentid=2680937&d=1397258016

2将zip文件拖到正在运行的虚拟设备中,然后单击“确定”

3重启Genymotion虚拟设备