在使用intellij的设备上INSTALL_FAILED_CPU_ABI_INCOMPATIBLE

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

我有一个应用程序,使用谷歌地图API V2工作得很好。 最近我发现,我不能安装在这个不基于ARM的设备上。

为了确定我正在使用随SDK提供的Google地图样本(\ sdk \ extras \ google \ google_play_services \ samples)的问题,

这在安装时给我同样的错误信息:

Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]

我只在使用Intellij(12.1.1)的真实设备上收到此消息,

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

任何帮助将不胜感激!

UPDATE

不出所料,Android Studio也会发生同样的情况

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

  1. 打开File -> Project Structure
  2. 点击窗口左侧的Modules
  3. 对于每个Android模块,展开下拉菜单并selectAndroid子项目。
  4. 在右侧的Structure选项卡中,删除Native libs directory字段的内容(可以将其保留为空)。
  5. 一旦你为项目中的每个Android模块完成了这些工作并应用更改,就可能需要通过从IntelliJ的全局菜单中selectBuild -> Rebuild Project来重build项目以进行更改。

最新的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文件拖入正在运行的虚拟设备中,然后单击确定

3重新启动Genymotion虚拟设备