INSTALL_FAILED_CPU_ABI_INCOMPATIBLE with Android project
By: Siva Ganesh Kantamani
Tags: Android

Every story has its roots so do this.

I have lost almost 2days trying to find solution to this problem, so i decided to contribute my experience so it might help folks out there like me. “This error might occur for different reasons and the solution is different for each reason,finding the right cause is the key to solve the problem.” I would like to thank Ethan Keiser for his solution that saved me a lot of time.Below are some of the reasons and solutions for this error.

Reason 1 :

Let me explain why i faced this error, recently i am using Signalr(Chatting library from Microsoft) in my project.Everything went fine like integration,testing,dynamic updating data,etc.But all of sudden things went south when i tried to install the app in android tablets.There our villan enters into the play,whenever i tried to install in tabs android studio simple shows a popup with error INSTALL_FAILED_CPU_ABI_INCOMPATIBLE with Android project.

Solution

According to my assessment after quite research, reason for this problem in my case is, Microsoft have not bundled the Signalr SDKs properly for android so there’s been a conflict internally in jar files.By replacing the jar files properly that i found here solved my problem.

If you are using Signalr in your project this might be one of the reason, so give it a try.

Reason 2:

If you try to install the app manually make sure you are installing the app the with same version or higher than the existing version(if the app already installed) else there are chances this error might come into light.

Solution

Try to uninstall the app if it was already installed or install the app with higher version code than already installed app.

Reason 3:

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:

Solution

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.

Things to ignore

When i first came across this error and googled it ,many solutions i checked included some shit about x86 rams for tablets is the cause.I literally wasted 2–3hrs research about those RAMs ,trust me its of no use not at least in my case.Try every possible solution and then deal with this, Whatever the problem might be there will be programmatically solution so there will be programmatically explanation too(at least according to me).

Conclusion

Above three are possible reasons for this error,there are many situations in which you encounter this error, Try to evaluate what you included recently in your project and search this error with that components integration this might narrow down the solutions you have to try.