I've seen some questions about this, but none with real answers nor details. Here is my case:
I have an application that uses Google Maps API v2 which works just fine. Recently I found out that I cannot get it installed on this not ARM-based device.
In order to nail down the problem I'm working with Google Maps samples provided with the SDK (\sdk\extras\google\google_play_services\samples)
which gives me the same error message at install time:
Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]
I get this message only on a real device using Intellij (12.1.1)
It works fine using both Eclipse on real device and using Intellij on the Emulator configured with CPU: Intel Atom (x86)
Any help would be highly appreciated!
UPDATE
As expected, same thing happens with Android Studio
By default, IntelliJ assumes that the libs
folder in the root of an Android module contains native libraries, even if it just holds jars. Thus, it packages the APK making it look like these are native libraries. I just had a similar issue where my application had no native code and would work on the default emulator, but got the ABI warning when installing on the Genymotion emulator. To fix this, tell IntelliJ (or Android Studio) that your libraries are not native code:
File -> Project Structure
.Modules
on the left side of the window.Android
subitem.Structure
tab on the right, delete contents of the Native libs directory
field (you can leave it blank).Build -> Rebuild Project
from IntelliJ's global menu.Latest Genymotion wont support ARM binary. If you have native code compiled for ARM, you can use the Genymotion-ARM-Translation. Just drag and drop this file to Genymotion home folder and reboot .
Reference. http://forum.xda-developers.com/showthread.php?t=2528952.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With