我已经看到了一些关于此的问题,但没有一个有真正的答案或细节。这是我的情况:
我有一个使用 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
也会发生同样的事情答案 0 :(得分:103)
默认情况下,IntelliJ假定Android模块根目录中的libs
文件夹包含本机库,即使它只包含jar。因此,它打包APK使它看起来像这些是本机库。我刚才有一个类似的问题,我的应用程序没有本机代码,可以在默认模拟器上工作,但在Genymotion模拟器上安装时得到了ABI警告。要解决此问题,请告诉IntelliJ(或Android Studio)您的库不是本机代码:
File -> Project Structure
。Modules
。Android
子项。Structure
标签中,删除Native libs directory
字段的内容(您可以将其留空)。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
下载网址:
2将zip文件拖到正在运行的虚拟设备中,然后单击“确定”
3重启Genymotion虚拟设备