INSTALL_FAILED_NO_MATCHING_ABIS when install apk

AndroidApkAdbIntelVirtual Device-Manager

Android Problem Overview


I tried to install my app into Android L Preview Intel Atom Virtual Device, it failed with error:

INSTALL_FAILED_NO_MATCHING_ABIS

What does it mean?

Android Solutions


Solution 1 - Android

INSTALL_FAILED_NO_MATCHING_ABIS is when you are trying to install an app that has native libraries and it doesn't have a native library for your cpu architecture. For example if you compiled an app for armv7 and are trying to install it on an emulator that uses the Intel architecture instead it will not work.

Solution 2 - Android

> INSTALL_FAILED_NO_MATCHING_ABIS is when you are trying to install an app that has native libraries and it doesn't have a native library for your cpu architecture. For example if you compiled an app for armv7 and are trying to install it on an emulator that uses the Intel architecture instead it will not work.

Using Xamarin on Visual Studio 2015. Fix this issue by:

  1. Open your xamarin .sln

  2. Right click your android project

  3. Click properties

  4. Click Android Options

  5. Click the 'Advanced' tab

  6. Under "Supported architectures" make the following checked:

    1. armeabi-v7a
    2. x86
  7. save

  8. F5 (build)

Edit: This solution has been reported as working on Visual Studio 2017 as well.

Edit 2: This solution has been reported as working on Visual Studio 2017 for Mac as well.

Solution 3 - Android

I'm posting an answer from another thread because it's what worked well for me, the trick is to add support for both architectures :

Posting this because I could not find a direct answer and had to look at a couple of different posts to get what I wanted done...

I was able to use the x86 Accelerated (HAXM) emulator by simply adding this to my Module's build.gradle script Inside android{} block:

splits {
        abi {
            enable true
            reset()
            include 'x86', 'armeabi-v7a'
            universalApk true
        }
    }

Run (build)... Now there will be a (yourapp)-x86-debug.apk in your output folder. I'm sure there's a way to automate installing upon Run but I just start my preferred HAXM emulator and use command line:

adb install (yourapp)-x86-debug.apk

Solution 4 - Android

If you using Genymotion you need Installing ARM Translation and GApps

Solution 5 - Android

This is indeed a strange error that can be caused by multidexing your app. To get around it, use the following block in your app's build.gradle file:

android {
  splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a'
        universalApk true
    }
  }
  ...[rest of your gradle script]

Solution 6 - Android

On Android 8:

> apache.commons.io:2.4

gives INSTALL_FAILED_NO_MATCHING_ABIS, try to change it to implementation 'commons-io:commons-io:2.6' and it will work.

Solution 7 - Android

This solution worked for me. Try this, add following lines in your app's build.gradle file

splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a'
        universalApk true
    }
}

Solution 8 - Android

I know there were lots of answers here, but the TL;DR version is this (If you're using Xamarin Studio):

  1. Right click the Android project in the solution tree
  2. Select Options
  3. Go to Android Build
  4. Go to Advanced tab
  5. Check the architectures you use in your emulator (Probably x86 / armeabi-v7a / armeabi)
  6. Make a kickass app :)

Solution 9 - Android

i had this problem using bitcoinJ library (org.bitcoinj:bitcoinj-core:0.14.7) added to build.gradle(in module app) a packaging options inside the android scope. it helped me.

android {
...
    packagingOptions {
        exclude 'lib/x86_64/darwin/libscrypt.dylib'
        exclude 'lib/x86_64/freebsd/libscrypt.so'
        exclude 'lib/x86_64/linux/libscrypt.so'
    }
}

Solution 10 - Android

this worked for me ... Android > Gradle Scripts > build.gradle (Module:app) add inside android*

android {
  //   compileSdkVersion 27
     defaultConfig {
        //
     }
     buildTypes {
        //
     }
    // buildToolsVersion '27.0.3'

    splits {
           abi {
                 enable true
                 reset()
                 include 'x86', 'armeabi-v7a'
                 universalApk true
               }
    }
 }

enter image description here

Solution 11 - Android

The comment of @enl8enmentnow should be an answer to fix the problem using genymotion:

> If you have this problem on Genymotion even when using the ARM translator it is because you are creating an x86 virtual device like the Google Nexus 10. Pick an ARM virtual device instead, like one of the Custom Tablets.

Solution 12 - Android

Visual Studio mac - you can change the support here:

enter image description here

Solution 13 - Android

this problem is for CPU Architecture and you have some of the abi in the lib folder.

go to build.gradle for your app module and in android, block add this :

  splits {
            abi {
                enable true
                reset()
                include 'x86', 'armeabi-v7a'
                universalApk true
            }
        }

Solution 14 - Android

In the visual studio community edition 2017, sometimes the selection of Supported ABIs from Android Options wont work.

In that case please verify that the .csproj has the following line and no duplicate lines in the same build configurations.

 <AndroidSupportedAbis>armeabi;armeabi-v7a;x86;x86_64;arm64-v8a</AndroidSupportedAbis>

In order to edit,

  1. Unload your Android Project
  2. Right click and select Edit Project ...
  3. Make sure you have the above line only one time in a build configuration
  4. Save
  5. Right click on your android project and Reload

Solution 15 - Android

In my case, in a xamarin project, in visual studio error removed by selecting properties --> Android Options and check Use Share run Times and Use Fast Deployment, in some cases one of them enter image description here

Solution 16 - Android

In my case, I needed to download the x86 version of the application.

  1. Go to https://www.apkmirror.com/
  2. Search for the app
  3. Select the first one in the list
  4. Look at the top of the page, where is has [Company Name] > [Application Name] > [Version Number]
  5. Click the Application Name
  6. Click 'All Variants'
  7. The list should contain an x86 variant to download

Solution 17 - Android

In my case(Windows 10, Flutter, Android Studio), I simply created a new emulator device in Android Studio. This time, I have chosen x86_64 ABI instead of only x86. It solved my issue. My emulator devices are shown in the screenshot below. New and Old Emulator Devices

Solution 18 - Android

For genymotion on mac, I was getting INSTALL_FAILED_NO_MATCHING_ABIS error while installing my apk.

In my project there wasn't any "APP_ABI" but I added it accordingly and it built just one apk for both architectures but it worked. https://stackoverflow.com/a/35565901/3241111

Solution 19 - Android

Basically if you tried Everything above and still you have the same error "Because i am facing this issue before too" then check which .jar or .aar or module you added may be the one library using ndk , and that one is not supporting 8.0 (Oreo)+ , likewise i am using Microsoft SignalR socket Library adding its .jar files and latterly i found out app not installing in Oreo then afterwards i remove that library because currently there is no solution on its git page and i go for another one.

So please check the library you are using and search about it if you eagerly needed that one.

Solution 20 - Android

In general case to find out which library dependency has incompatible ABI,

  • build an APK file in Android Studio (menu Build > Build Bundle(s)/APK(s) > Build APK(s)) // actual on 01.04.2020
  • rename APK file, replacing extension "apk" with extension "zip"
  • unpack zip file to a new folder
  • go to libs folder
  • find out which *.jar libraries with incompatible ABIs are there

You may try to upgrade version / remove / replace these libraries to solve INSTALL_FAILED_NO_MATCHING_ABIS when install apk problem

Solution 21 - Android

I faced this issue when moved from Android 7(Nougat) to Android 8(Oreo).

I have tried several ways listed above and to my bad luck nothing worked.

So i changed the .apk file to .zip file extracted it and found lib folder with which this file was there /x86_64/darwin/libscrypt.dylib so to remove this i added a code in my build.gradle module below android section (i.e.)

packagingOptions {
    exclude 'lib/x86_64/darwin/libscrypt.dylib'
    exclude 'lib/x86_64/freebsd/libscrypt.so'
    exclude 'lib/x86_64/linux/libscrypt.so'
}

Cheers issue solved

Solution 22 - Android

Just in case, this might help someone like me. I had this same issue in Unity 3D. I was attempting to use the emulators from Android Studio. So I enabled Target Architecture->x86 Architecture(although deprecated) in Player Settings and it worked!

Solution 23 - Android

This happened to me. I checked the SDK Manager and it told me the one I was using had a update. I updated it and the problem went away.

Solution 24 - Android

Quite late, but just ran into this. This is for Xamarin.Android. Make sure that you're not trying to debug in release mode. I get that exact same error if in release mode and attempting to debug. Simply switching from release to debug allowed mine to install properly.

Solution 25 - Android

In my case setting folowing options helpet me out

enter image description here

Solution 26 - Android

Somehow, this fix the issue out of no reason.

./gradlew clean assemble and then install the app.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPeter ZhaoView Question on Stackoverflow
Solution 1 - AndroidHiemanshu SharmaView Answer on Stackoverflow
Solution 2 - AndroidAsher GarlandView Answer on Stackoverflow
Solution 3 - AndroidDriss BounouarView Answer on Stackoverflow
Solution 4 - AndroidR00WeView Answer on Stackoverflow
Solution 5 - AndroidIgorGanapolskyView Answer on Stackoverflow
Solution 6 - AndroidSabaView Answer on Stackoverflow
Solution 7 - AndroidvaibhavView Answer on Stackoverflow
Solution 8 - AndroidJonathan PerryView Answer on Stackoverflow
Solution 9 - AndroidediBershView Answer on Stackoverflow
Solution 10 - Androiduser8554744View Answer on Stackoverflow
Solution 11 - AndroidmuetzenfloView Answer on Stackoverflow
Solution 12 - AndroidLeRoyView Answer on Stackoverflow
Solution 13 - AndroidSana EbadiView Answer on Stackoverflow
Solution 14 - AndroidKusal DissanayakeView Answer on Stackoverflow
Solution 15 - AndroidSaleem KalroView Answer on Stackoverflow
Solution 16 - AndroidFidelView Answer on Stackoverflow
Solution 17 - AndroidAshiq UllahView Answer on Stackoverflow
Solution 18 - Androidmaster_dodoView Answer on Stackoverflow
Solution 19 - AndroidSumit KumarView Answer on Stackoverflow
Solution 20 - AndroidDenis DmitrienkoView Answer on Stackoverflow
Solution 21 - AndroidKhan.NView Answer on Stackoverflow
Solution 22 - AndroidSagar WankhedeView Answer on Stackoverflow
Solution 23 - AndroidBarry FruitmanView Answer on Stackoverflow
Solution 24 - AndroidNieminenView Answer on Stackoverflow
Solution 25 - AndroidStefan MichevView Answer on Stackoverflow
Solution 26 - AndroidFrancis BaconView Answer on Stackoverflow