INSTALL_FAILED_CPU_ABI_INCOMPATIBLE on device using intellij

android, android-studio, google-maps, intellij-idea

Solution

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:

- Open `File -> Project Structure`.

- Click `Modules` on the left side of the window.

- For each Android module, expand the dropdown and select the `Android` subitem.

- In the `Structure` tab on the right, delete contents of the `Native libs directory` field (you can leave it blank).

- Once you've done this for each Android module in the project and applied the changes, you may need to rebuild your project for the changes to take place by choosing `Build -> Rebuild Project` from IntelliJ's global menu.

Problem

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

Original source