Меню

Ошибка install failed no matching abis

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?

Paulo Boaventura's user avatar

asked Jul 4, 2014 at 10:17

Peter Zhao's user avatar

1

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.

Vasily Kabunov's user avatar

answered Jul 4, 2014 at 10:26

Hiemanshu Sharma's user avatar

Hiemanshu SharmaHiemanshu Sharma

7,5611 gold badge15 silver badges13 bronze badges

18

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.

answered Jan 31, 2017 at 22:59

Asher Garland's user avatar

Asher GarlandAsher Garland

4,8335 gold badges27 silver badges29 bronze badges

5

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

answered Nov 17, 2015 at 16:05

Driss Bounouar's user avatar

Driss BounouarDriss Bounouar

3,1431 gold badge31 silver badges48 bronze badges

5

Bill the Lizard's user avatar

answered Nov 20, 2014 at 7:18

R00We's user avatar

R00WeR00We

1,93118 silver badges21 bronze badges

3

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]

answered Mar 31, 2016 at 16:24

IgorGanapolsky's user avatar

IgorGanapolskyIgorGanapolsky

25.6k22 gold badges115 silver badges146 bronze badges

9

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.

answered Sep 14, 2018 at 17:14

Saba's user avatar

SabaSaba

1,05012 silver badges17 bronze badges

1

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
    }
}

saketr64x's user avatar

answered Sep 15, 2017 at 6:14

vaibhav's user avatar

vaibhavvaibhav

1921 silver badge10 bronze badges

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 🙂

answered Sep 7, 2016 at 6:16

Jonathan Perry's user avatar

Jonathan PerryJonathan Perry

2,8532 gold badges44 silver badges49 bronze badges

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'
    }
}

answered Nov 26, 2018 at 21:22

ediBersh's user avatar

ediBershediBersh

1,1151 gold badge12 silver badges19 bronze badges

2

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

answered Aug 14, 2018 at 22:31

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.

answered Jun 15, 2015 at 9:23

muetzenflo's user avatar

muetzenflomuetzenflo

5,5014 gold badges38 silver badges81 bronze badges

1

Visual Studio mac — you can change the support here:

enter image description here

answered Jun 21, 2017 at 20:46

LeRoy's user avatar

LeRoyLeRoy

3,8152 gold badges34 silver badges43 bronze badges

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
            }
        }

answered Dec 21, 2020 at 16:04

Sana Ebadi's user avatar

Sana EbadiSana Ebadi

6,3341 gold badge41 silver badges43 bronze badges

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

answered Mar 22, 2018 at 5:58

Kusal Dissanayake's user avatar

1

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

answered Oct 27, 2018 at 0:29

Saleem Kalro's user avatar

Saleem KalroSaleem Kalro

1,0429 silver badges12 bronze badges

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

answered Dec 22, 2018 at 5:09

Fidel's user avatar

FidelFidel

6,77911 gold badges52 silver badges78 bronze badges

1

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

Community's user avatar

answered Jun 10, 2016 at 20:22

master_dodo's user avatar

master_dodomaster_dodo

1,1363 gold badges18 silver badges30 bronze badges

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.

answered Nov 15, 2018 at 8:27

Sumit Kumar's user avatar

Sumit KumarSumit Kumar

6431 gold badge8 silver badges19 bronze badges

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

answered Mar 13, 2020 at 9:37

Denis Dmitrienko's user avatar

Denis DmitrienkoDenis Dmitrienko

1,4222 gold badges15 silver badges26 bronze badges

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!

answered Sep 15, 2020 at 15:58

Sagar Wankhede's user avatar

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

answered Sep 27, 2021 at 22:15

Ashiq Ullah's user avatar

2

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

answered Mar 22, 2019 at 6:11

Khan.N's user avatar

Hi if you are using this library;

implementation 'org.apache.directory.studio:org.apache.commons.io:2.4'

Replace it with:

implementation 'commons-io:commons-io:2.6'

And the problem will be fixed.

answered Jul 10, 2022 at 23:10

FreddicMatters's user avatar

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.

answered Jun 18, 2018 at 3:01

Barry Fruitman's user avatar

Barry FruitmanBarry Fruitman

12.1k12 gold badges69 silver badges128 bronze badges

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.

answered Nov 13, 2018 at 1:46

Nieminen's user avatar

NieminenNieminen

1,2292 gold badges14 silver badges28 bronze badges

In my case setting folowing options helpet me out

enter image description here

answered Jul 29, 2019 at 12:55

Stefan Michev's user avatar

Stefan MichevStefan Michev

4,6563 gold badges34 silver badges30 bronze badges

Somehow, this fix the issue out of no reason.

./gradlew clean assemble and then install the app.

answered Jul 16, 2020 at 7:57

Francis Bacon's user avatar

Francis BaconFrancis Bacon

3,6301 gold badge34 silver badges46 bronze badges

21 ответ

INSTALL_FAILED_NO_MATCHING_ABIS — это когда вы пытаетесь установить приложение с родными библиотеками, и у него нет собственной библиотеки для вашей архитектуры процессора. Например, если вы скомпилировали приложение для armv7 и пытаетесь установить его на эмулятор, который использует архитектуру Intel, то это не сработает.

Hiemanshu Sharma
04 июль 2014, в 11:58

Поделиться

INSTALL_FAILED_NO_MATCHING_ABIS — это когда вы пытаетесь установить приложение с родными библиотеками, и у него нет собственной библиотеки для вашей архитектуры процессора. Например, если вы скомпилировали приложение для armv7 и пытаетесь установить его на эмулятор, который использует архитектуру Intel, то это не сработает.

Использование Xamarin на Visual Studio 2015. Исправить эту проблему:

  1. Откройте свой xamarin.sln
  2. Щелкните правой кнопкой мыши ваш проект Android
  3. Свойства кликов
  4. Нажмите «Настройки Android».
  5. Перейдите на вкладку «Дополнительно».
  6. В разделе «Поддерживаемые архитектуры» выполните следующие проверки:

    1. armeabi-v7a
    2. x86
  7. спасти

  8. F5 (построить)

Изменить. Сообщается, что это решение работает и на Visual Studio 2017.

Редактировать 2: Сообщается, что это решение работает и в Visual Studio 2017 для Mac.

Asher Garland
31 янв. 2017, в 23:40

Поделиться

Я отправляю ответ из другого потока, потому что это хорошо работает для меня, трюк заключается в том, чтобы добавить поддержку для обеих архитектур:

Проводя это, потому что я не мог найти прямой ответ и должен был посмотреть несколько разных сообщений, чтобы получить то, что я хотел сделать…

Я смог использовать эмулятор x86 Accelerated (HAXM), просто добавив его в свой модуль build.gradle script Inside android {} block:

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

Запустить (построить)… Теперь в вашей выходной папке будет файл (yourapp) -x86-debug.apk. Я уверен, что есть способ автоматизировать установку после запуска, но я просто запускаю свой предпочтительный эмулятор HAXM и использую командную строку:

adb install (yourapp)-x86-debug.apk

Driss Bounouar
17 нояб. 2015, в 17:07

Поделиться

Это действительно странная ошибка, которая может быть вызвана мультисайсом вашего приложения. Чтобы обойти это, используйте следующий блок в своем приложении build.gradle:

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

IgorGanapolsky
31 март 2016, в 18:12

Поделиться

Я знаю, что здесь было много ответов, но версия TL; DR — это (если вы используете Xamarin Studio):

  • Щелкните правой кнопкой мыши проект Android в дереве решений
  • Выберите Options
  • Перейдите к Android Build
  • Перейдите на вкладку Advanced
  • Проверьте архитектуры, которые вы используете в своем эмуляторе (возможно x86/armeabi-v7a/armeabi)
  • Сделайте приложение для kickass:)

Jonathan Perry
07 сен. 2016, в 06:42

Поделиться

Комментарий @enl8enmentnow должен быть ответом, чтобы исправить проблему с помощью genymotion:

Если у вас есть эта проблема в Genymotion даже при использовании транслятора ARM, это происходит из-за того, что вы создаете виртуальное устройство x86, такое как Google Nexus 10. Вместо этого выберите виртуальное устройство ARM, например, одну из пользовательских таблеток.

muetzenflo
15 июнь 2015, в 10:47

Поделиться

Это решение сработало для меня. Попробуйте это, добавьте следующие строки в файл build.gradle приложения.

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

vaibhav
15 сен. 2017, в 07:11

Поделиться

Visual Studio mac — вы можете изменить поддержку здесь:

Изображение 3195

LeRoy
21 июнь 2017, в 22:45

Поделиться

INSTALL_FAILED_NO_MATCHING_ABIS означает, что архитектура не соответствует. Если вы используете Android Studio на Mac (который обычно использует Apple ARM), тогда вам нужно установить CPU/ABI Android Virtual Device на «arm» или «armeabi-v7a». Если, однако, вы используете Android Studio на ПК (который обычно использует чип Intel, затем установите значение «x86» или «x86_64».

TomV
14 дек. 2015, в 19:55

Поделиться

На Android 8:

apache.commons.io:2.4

он дает INSTALL_FAILED_NO_MATCHING_ABIS, попробуйте изменить его на 2.5 или 2.6, и он будет работать или комментировать его.

Saba Jafarzadeh
14 сен. 2018, в 18:12

Поделиться

В сообществе сообщества Visual Studio 2017 иногда выбор поддерживаемых ABI из Android Options не работает.

В этом случае убедитесь, что.csproj имеет следующую строку и не содержит повторяющихся строк в тех же конфигурациях сборки.

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

Чтобы редактировать,

  1. Выгрузите свой Android-проект
  2. Щелкните правой кнопкой мыши и выберите «Редактировать проект»…
  3. Убедитесь, что указанная выше строка имеет только один раз в конфигурации сборки
  4. Сохранить
  5. Щелкните правой кнопкой мыши на своем проекте android и перезагрузите

Kusal Dissanayake
22 март 2018, в 07:29

Поделиться

У меня была эта проблема, используя библиотеку bitcoinJ (org.bitcoinj: bitcoinj-core: 0.14.7), добавленную в build.gradle (в модуле app) варианты упаковки внутри области android. это помогло мне.

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

ediBersh
26 нояб. 2018, в 22:31

Поделиться

В моем случае, в проекте xamarin, при удалении визуальной студия удалены, выбрав свойства → Настройки Android и установите флажок Использовать время выполнения и используйте быстрое развертывание, в некоторых случаях один из них Изображение 3196

saleem kalro
27 окт. 2018, в 01:06

Поделиться

это сработало для меня… Android> Gradle Scripts> build.gradle(Module: app) добавить внутри android *

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

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

Изображение 3197

user8554744
14 авг. 2018, в 23:31

Поделиться

В моем случае мне нужно было скачать версию приложения для x86.

  1. Перейти на https://www.apkmirror.com/
  2. Поиск приложения
  3. Выберите первый в списке
  4. Посмотрите на верхнюю часть страницы, где находится [Название компании]> [Имя приложения]> [Номер версии]
  5. Нажмите на название приложения
  6. Нажмите «Все варианты»
  7. Список должен содержать вариант x86 для загрузки

Fidel
22 дек. 2018, в 06:34

Поделиться

В основном, если вы попробовали все выше и по-прежнему у вас та же ошибка «Потому что я тоже сталкивался с этой проблемой раньше», то проверьте, какой .jar или .aar или модуль, который вы добавили, может быть той библиотекой, использующей ndk, и которая не поддерживает 8.0 (Oreo) +, также я использую библиотеку сокетов Microsoft SignalR, добавляя свои файлы .jar, и недавно я обнаружил, что приложение не устанавливается в Oreo, а затем я удаляю эту библиотеку, потому что в настоящее время на ее странице git нет решения, и я перехожу к другой.,

Поэтому, пожалуйста, проверьте библиотеку, которую вы используете, и поищите ее, если она вам очень нужна.

Sumit Kumar
15 нояб. 2018, в 09:11

Поделиться

Довольно поздно, но просто наткнулся на это. Это для Xamarin.Android. Убедитесь, что вы не пытаетесь отлаживать в режиме выпуска. Я получаю точно такую же ошибку, если в режиме выпуска и пытаюсь отладить. Простое переключение с релиза на отладку позволило моему установить правильно.

Nieminen
13 нояб. 2018, в 03:13

Поделиться

Это случилось со мной. Я проверил диспетчер SDK, и он сказал мне, что у меня было обновление. Я обновил его, и проблема исчезла.

Barry Fruitman
18 июнь 2018, в 04:34

Поделиться

Существует простой способ:

  1. Отключите подключенное устройство
  2. Закройте Android Studio
  3. Перезапустите Android Studio
  4. Подключите устройство с помощью USB-кабеля
  5. Нажмите кнопку «Запустить» и перейдите на кофе-брейк

HA S
15 март 2018, в 02:23

Поделиться

Ещё вопросы

  • 1NoSuchElementException Не решить
  • 0перебирая массивы указателей и отображая
  • 0Обновление переменной угловой модели слишком рано до обновления DOM, в результате чего пользовательский интерфейс находится «позади»?
  • 0Конструктор копирования вызывается при возврате объекта из функции?
  • 0Ошибка загрузки PHP и SQL
  • 0Заполните массив циклом for в JavaScript
  • 0Сравнение дат не работает должным образом
  • 1Отображать на клиенте, только если коллекция существует на узле mongoDB JS
  • 1Установка зависимостей с помощью pip и needs.txt?
  • 1Параметризованные генераторы при использовании tf.data.Dataset.from_generator ()
  • 1JSF 2.2 и Spring 4 и CDI на разных уровнях без потери функций Spring
  • 0Попытка очистить все параметры, кроме первого
  • 1Будут ли идентификационные номера ресурсов одинаковыми для каждой установки?
  • 0Возврат ответа на onClientClick на основе выбора пользовательской кнопки
  • 0Доступ к массиву объектов в объекте с использованием Angular
  • 0Visual Studio 2017 не может загрузить базу данных MySQL
  • 0Как проверить, является ли атрибут href пустым [duplicate]
  • 0Как удалить URL-адрес ссылки на новостную ленту Google?
  • 1открыть исходный терминал из питона
  • 04 байта эмоджи неправильно сохраняются в MYSQL, игнорируя набор символов и Ok в хранилище данных Google
  • 1Как обрабатывать несколько потоков одновременно с помощью Task Parallel Library
  • 0Дата от весны до сети как отметка времени с использованием Jakson
  • 1Ember Ajax Idicator в модели
  • 1Итерация по набору данных для получения дочерних строк
  • 1Jframe ничего не показывает и «не может быть приведен к java.applet.Applet»
  • 0CodeIgniter 3 — неагрегированная группа столбцов по
  • 1Время, прошедшее с момента отключения питания от сети
  • 1Не найдено сопоставление для HTTP-запроса с URI [/ HelloWeb /] в DispatcherServlet с именем «HelloWeb» Spring MVC
  • 1Как написать методы пересечения и объединения для множеств в Java
  • 0Как сделать так, чтобы два ползунка двигались в противоположном направлении [AngularJS]
  • 0Сбой перегруженной функции оператора
  • 0Загрузка дополнительных сообщений не работает
  • 0Измените все элементы TABLE на DIV внутри тега TD только jQuery
  • 1Android AudioRecord фильтр диапазона частот
  • 0able_to_verify_leaf_signature при публикации из AngularJs / Cordova
  • 1Невозможно проанализировать строку с помощью python match () — получена ошибка AttributeError: у объекта ‘NoneType’ нет атрибута ‘группа’
  • 1Панды сгруппированы по нескольким столбцам, список из нескольких столбцов
  • 0Ошибка: недопустимое значение для <path> attribute d = «.. для круговой диаграммы
  • 0Как вставить несколько CSV в разные таблицы в зависимости от имени файла?
  • 0Функция Javascript, допускающая только один класс для тега привязки
  • 1Сортировка строк с выделением сортировки по щелчку мыши
  • 0что будет, если мы подадим сигнал семафору без ожидания?
  • 1Android-SDCard
  • 1Привязать несколько числовых текстовых полей в Vue.js
  • 0Найти, если библиотека скомпилирована компилятором SJLJ или DWARF2
  • 1Некоторые вопросы, связанные с внедрением изображения в подписи электронной почты?
  • 0Проверка шаблона как можно больше
  • 1Получить количество повторений анимации
  • 0Нет ли возможной потери данных при преобразовании из строки в строку с помощью строкового конструктора?
  • 1Каковы недостатки моей функции случайного воспроизведения?

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account


Closed

nitishk72 opened this issue

Apr 24, 2019

· 23 comments

Comments

@nitishk72

When I am trying to install the app in debug mode it works fine but when I try to do the same in Release mode, I get an error. I did lots of googling and none of the solutions works for me.

F:pathtoflutterproject>flutter doctor -v
[√] Flutter (Channel stable, v1.2.1, on Microsoft Windows [Version 10.0.17134.706], locale en-IN)
    • Flutter version 1.2.1 at C:flutter
    • Framework revision 8661d8aecd (10 weeks ago), 2019-02-14 19:19:53 -0800
    • Engine revision 3757390fa4
    • Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:Usersnitishk72AppDataLocalAndroidsdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: C:Program FilesAndroidAndroid Studiojrebinjava
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[√] Android Studio (version 3.1)
    • Android Studio at C:Program FilesAndroidAndroid Studio
    • Flutter plugin version 27.1.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] VS Code (version 1.33.1)
    • VS Code at C:Usersnitishk72AppDataLocalProgramsMicrosoft VS Code
    • Flutter extension version 2.25.1

[√] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)

• No issues found!

tempsnip

@fengqiangboy

Edit Android/app/build.gradle

  1. Add the following code in Android block
ndk {
            abiFilters 'armeabi-v7a', 'x86', 'armeabi'
        }
  1. Create a file at Android/app/gradle.properties, put following code in it
target-platform=android-arm
d-apps, fengqiangboy, and Cynnexis reacted with thumbs up emoji
YeFei572, bartektartanus, nezz0746, mmtolsma, Viacheslav-Romanov, Cheas, thereis, bartekpacia, jlund24, bkkterje, and 12 more reacted with thumbs down emoji

@iqbalmineraltown

when running flutter build apk, it will use --target-platform=android-arm as default which will generate apk for arm32 architecture
you can see more options for --target-platform by running flutter build apk -h where only arm and arm64 are available

AFAIK currently Flutter cannot build apk for x86 architecture
but you can still run debug on simulator, which is x86
related to #9253

@d-apps

Edit Android/app/build.gradle

  1. Add the following code in Android block
ndk {
            abiFilters 'armeabi-v7a', 'x86', 'armeabi'
        }
  1. Create a file at Android/app/gradle.properties, put following code in it
target-platform=android-arm

I was having this error when I was trying to test my app in avd in debug mode. Following this steps it’s working now.

@smallsilver

Edit Android/app/build.gradle

  1. Add the following code in Android block
ndk {
            abiFilters 'armeabi-v7a', 'x86', 'armeabi'
        }
  1. Create a file at Android/app/gradle.properties, put following code in it
target-platform=android-arm

I was having this error when I was trying to test my app in avd in debug mode. Following this steps it’s working now.

it’s work ,good boy.but I don’t know why?

@fengqiangboy

Edit Android/app/build.gradle

  1. Add the following code in Android block
ndk {
            abiFilters 'armeabi-v7a', 'x86', 'armeabi'
        }
  1. Create a file at Android/app/gradle.properties, put following code in it
target-platform=android-arm

I was having this error when I was trying to test my app in avd in debug mode. Following this steps it’s working now.

it’s work ,good boy.but I don’t know why?

Because flutter can not package both arm32 and arm64, so, we force gradle to use arm32 package, and arm32 file can run on both arm32 device and arm64 device.

@DevarshRanpara

Facing a same issue,

Generating apk with flutter build apk

and when i try to install that apk with flutter install

I got following error.

Error: ADB exited with exit code 1
Performing Streamed Install

adb: failed to install /build/app/outputs/apk/app.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
Install failed

@Xgamefactory

@iqbalmineraltown

@DevarshRanpara @Xgamefactory can you post flutter doctor -v outputs?
just checking what architecture is your deployment target

FYI google play store enforce appbundle for everyone on their store, so you might want to try building appbundle instead

@nitishk72

I don’t know the exact solution and still, no developer came with the exact solution.
So, the best solution is to reinstall the flutter and get rid of this problem.

Wait for Flutter team to come with exact solution

@guilhermelirio

Same here, only release version!

@Valentin-Seehausen

Tried proposed solution without success. +1 from my side.

@AbelTilahunMeko

@vijithvellora

@luckypal

My Android Emulator abi architecture is x86.
So, I tried to compile with x86 option.
image

image

But I got this error.
image

Flutter version
image

@iapicca

Hi @nitishk72
if you are still experiencing this issue with the latest stable version of flutter
please provide your flutter doctor -v ,
your flutter run --verbose
and a reproducible minimal code sample
or the steps to reproduce the problem.
Thank you

LongDirtyAnimAlf

added a commit
to jmpessoa/lazandroidmodulewizard
that referenced
this issue

Feb 24, 2020

@LongDirtyAnimAlf

enutake

added a commit
to enutake/flutter_app
that referenced
this issue

Feb 25, 2020

@enutake

@HQHAN

After adding below in android/app/build.gradle and run a command flutter run --flavor development, I was able to solve this issue.
You might want to check this article regarding on flavoring flutter
https://medium.com/@salvatoregiordanoo/flavoring-flutter-392aaa875f36

flavorDimensions "flutter"

    productFlavors {
        development {
            dimension "flutter"
            applicationIdSuffix ".dev"
            versionNameSuffix "-dev"
        }
        production {
            dimension "flutter"
        }
    }

@no-response

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don’t hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.

@rhenesys

What resolved the issue for me: I went on Android Studio and when creating a new Virtual Device I went on x86 Images and selected an image x86_64 and used this one to create my devices.

sysImage

@saulo-arantes

Try flutter clean and build it again

@r0ly4udi

in my case, run command in your terminal «flutter clean» its great working……
may help in same case. thx

@jarl-dk

I experienced this too.
Then I

  • uninstalled android studio
  • removed ~/Android
  • Removed ~/.android
  • Reinstalled android-studio
  • reinstalled virtual devices
    Then everything was fine

@akshajdevkv

hey I solved it

  • run flutter clean
  • run flutter build apk
    then run flutter install

@github-actions

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions
github-actions
bot

locked as resolved and limited conversation to collaborators

Aug 2, 2021

Я попытался установить свое приложение в Android L Preview Intel Atom Virtual Device, это не удалось с ошибкой:

INSTALL_FAILED_NO_MATCHING_ABIS

Что это значит?

15 ответов


INSTALL_FAILED_NO_MATCHING_ABIS Это когда вы пытаетесь установить приложение, которое имеет собственные библиотеки, и у него нет собственной библиотеки для вашей архитектуры процессора. Например, если вы скомпилировали приложение для ARMv7 с и пытаются установить его на эмулятор, который использует Intel архитектура вместо этого не будет работать.

526

автор: Hiemanshu Sharma


INSTALL_FAILED_NO_MATCHING_ABIS — это когда вы пытаетесь установить приложение с собственными библиотеками, и у него нет собственной библиотеки для вашей архитектуры процессора. Например, если вы скомпилировали приложение для armv7 и пытаетесь установить его на эмулятор, который использует архитектуру Intel, он не будет работать.

использование Xamarin в Visual Studio 2015.
Исправить эту проблему:

  1. откройте xamarin .sln
  2. щелкните правой кнопкой мыши свой проект android
  3. выберите Свойства
  4. Нажмите Android Options
  5. перейдите на вкладку ‘Advanced’
  6. В разделе «поддерживаемые архитектуры»установите следующий флажок:

    1. armeabi-v7a
    2. x86
  7. сохранить

  8. F5 (сборка)

Edit: было сообщено, что это решение работает Visual Studio 2017 также.

Edit 2: сообщается, что это решение работает над Visual Studio 2017 для Mac как хорошо.


Я отправляю ответ из другого потока, потому что это то, что хорошо сработало для меня, трюк состоит в том, чтобы добавить поддержку для обеих архитектур :

опубликовать это, потому что я не мог найти прямого ответа и должен был посмотреть на пару разных сообщений, чтобы получить то, что я хотел сделать…

я смог использовать эмулятор x86 Accelerated (HAXM), просто добавив его в сборку моего модуля.скрипт gradle внутри блока android {}:

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

выполнить (построить)… Теперь там будет (yourapp)-x86-debug.apk в выходной папке. Я уверен, что есть способ автоматизировать установку при запуске, но я просто запускаю свой предпочтительный эмулятор HAXM и использую командную строку:

adb install (yourapp)-x86-debug.apk


это действительно странная ошибка, которая может быть вызвана multidexing вашего приложения. Чтобы обойти это, используйте следующий блок впостроить.Gradle в:

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

31

автор: Igor Ganapolsky


Я знаю, что здесь было много ответов, но версия TL; DR такова (если вы используете Xamarin Studio):

  1. щелкните правой кнопкой мыши проект Android в дереве решения
  2. выберите Options
  3. на Android Build
  4. на Advanced tab
  5. Проверьте архитектуры, которые вы используете в своем эмуляторе (возможно x86 / armeabi-v7a / armeabi)
  6. сделать приложение kickass:)

комментарий @enl8enmentnow должен быть ответом на исправление проблемы с помощью genymotion:

Если у вас есть эта проблема на Genymotion даже при использовании ARM переводчик это потому, что вы создаете x86 виртуальное устройство, как Google Nexus 10. Выберите виртуальное устройство ARM вместо этого, как один из пользовательских планшетов.


Visual Studio mac-вы можете изменить поддержку здесь:

enter image description here


Это решение работает для меня. Попробовать это,
добавьте следующие строки впостроить.Gradle в

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

в visual studio community edition 2017 иногда выбор поддерживаемых ABIs из параметров Android не будет работать.

в этом случае, пожалуйста, убедитесь, что .csproj имеет следующую строку и не дублирует строки в тех же конфигурациях сборки.

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

для редактирования,

  1. разгрузите свой проект Android
  2. щелкните правой кнопкой мыши и выберите Редактировать проект …
  3. убедитесь, что у вас есть выше линии только один раз в построить конфигурацию
  4. сохранить
  5. щелкните правой кнопкой мыши на вашем проекте android и перезагрузите

2

автор: Kusal Dissanayake


для genymotion на mac я получал ошибку INSTALL_FAILED_NO_MATCHING_ABIS при установке моего apk.

в моем проекте не было никакого «APP_ABI», но я добавил его соответственно, и он построил только один apk для обеих архитектур, но он работал.
https://stackoverflow.com/a/35565901/3241111

1

автор: myDoggyWritesCode


это сработало для меня … Android > Скрипты Gradle > сборка.gradle (модуль: app)
добавить внутри 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


На Android 8:

apache.общее.io: 2.4

Он дает INSTALL_FAILED_NO_MATCHING_ABIS, попробуйте изменить его на 2.5 или 2.6, и он будет работать или комментировать его.


Это случилось со мной. Я проверил менеджер SDK, и он сказал мне, что у того, который я использовал, было обновление. Я обновил его и проблема ушла.


есть простой способ:

  1. отключите подключенное устройство
  2. закройте Android Studio
  3. перезапустите Android Studio
  4. подключите устройство с помощью USB-кабеля
  5. Нажмите кнопку Run и перейти на кофе-брейк

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?

Paulo Boaventura's user avatar

asked Jul 4, 2014 at 10:17

Peter Zhao's user avatar

1

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.

Vasily Kabunov's user avatar

answered Jul 4, 2014 at 10:26

Hiemanshu Sharma's user avatar

Hiemanshu SharmaHiemanshu Sharma

7,5611 gold badge15 silver badges13 bronze badges

18

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.

answered Jan 31, 2017 at 22:59

Asher Garland's user avatar

Asher GarlandAsher Garland

4,8335 gold badges27 silver badges29 bronze badges

5

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

answered Nov 17, 2015 at 16:05

Driss Bounouar's user avatar

Driss BounouarDriss Bounouar

3,1431 gold badge31 silver badges48 bronze badges

5

Bill the Lizard's user avatar

answered Nov 20, 2014 at 7:18

R00We's user avatar

R00WeR00We

1,93118 silver badges21 bronze badges

3

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]

answered Mar 31, 2016 at 16:24

IgorGanapolsky's user avatar

IgorGanapolskyIgorGanapolsky

25.6k22 gold badges115 silver badges146 bronze badges

9

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.

answered Sep 14, 2018 at 17:14

Saba's user avatar

SabaSaba

1,05012 silver badges17 bronze badges

1

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
    }
}

saketr64x's user avatar

answered Sep 15, 2017 at 6:14

vaibhav's user avatar

vaibhavvaibhav

1921 silver badge10 bronze badges

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 🙂

answered Sep 7, 2016 at 6:16

Jonathan Perry's user avatar

Jonathan PerryJonathan Perry

2,8532 gold badges44 silver badges49 bronze badges

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'
    }
}

answered Nov 26, 2018 at 21:22

ediBersh's user avatar

ediBershediBersh

1,1151 gold badge12 silver badges19 bronze badges

2

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

answered Aug 14, 2018 at 22:31

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.

answered Jun 15, 2015 at 9:23

muetzenflo's user avatar

muetzenflomuetzenflo

5,5014 gold badges38 silver badges81 bronze badges

1

Visual Studio mac — you can change the support here:

enter image description here

answered Jun 21, 2017 at 20:46

LeRoy's user avatar

LeRoyLeRoy

3,8152 gold badges34 silver badges43 bronze badges

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
            }
        }

answered Dec 21, 2020 at 16:04

Sana Ebadi's user avatar

Sana EbadiSana Ebadi

6,3341 gold badge41 silver badges43 bronze badges

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

answered Mar 22, 2018 at 5:58

Kusal Dissanayake's user avatar

1

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

answered Oct 27, 2018 at 0:29

Saleem Kalro's user avatar

Saleem KalroSaleem Kalro

1,0429 silver badges12 bronze badges

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

answered Dec 22, 2018 at 5:09

Fidel's user avatar

FidelFidel

6,77911 gold badges52 silver badges78 bronze badges

1

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

Community's user avatar

answered Jun 10, 2016 at 20:22

master_dodo's user avatar

master_dodomaster_dodo

1,1363 gold badges18 silver badges30 bronze badges

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.

answered Nov 15, 2018 at 8:27

Sumit Kumar's user avatar

Sumit KumarSumit Kumar

6431 gold badge8 silver badges19 bronze badges

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

answered Mar 13, 2020 at 9:37

Denis Dmitrienko's user avatar

Denis DmitrienkoDenis Dmitrienko

1,4222 gold badges15 silver badges26 bronze badges

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!

answered Sep 15, 2020 at 15:58

Sagar Wankhede's user avatar

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

answered Sep 27, 2021 at 22:15

Ashiq Ullah's user avatar

2

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

answered Mar 22, 2019 at 6:11

Khan.N's user avatar

Hi if you are using this library;

implementation 'org.apache.directory.studio:org.apache.commons.io:2.4'

Replace it with:

implementation 'commons-io:commons-io:2.6'

And the problem will be fixed.

answered Jul 10, 2022 at 23:10

FreddicMatters's user avatar

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.

answered Jun 18, 2018 at 3:01

Barry Fruitman's user avatar

Barry FruitmanBarry Fruitman

12.1k12 gold badges69 silver badges128 bronze badges

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.

answered Nov 13, 2018 at 1:46

Nieminen's user avatar

NieminenNieminen

1,2292 gold badges14 silver badges28 bronze badges

In my case setting folowing options helpet me out

enter image description here

answered Jul 29, 2019 at 12:55

Stefan Michev's user avatar

Stefan MichevStefan Michev

4,6563 gold badges34 silver badges30 bronze badges

Somehow, this fix the issue out of no reason.

./gradlew clean assemble and then install the app.

answered Jul 16, 2020 at 7:57

Francis Bacon's user avatar

Francis BaconFrancis Bacon

3,6301 gold badge34 silver badges46 bronze badges

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?

Paulo Boaventura's user avatar

asked Jul 4, 2014 at 10:17

Peter Zhao's user avatar

1

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.

Vasily Kabunov's user avatar

answered Jul 4, 2014 at 10:26

Hiemanshu Sharma's user avatar

Hiemanshu SharmaHiemanshu Sharma

7,5611 gold badge15 silver badges13 bronze badges

18

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.

answered Jan 31, 2017 at 22:59

Asher Garland's user avatar

Asher GarlandAsher Garland

4,8335 gold badges27 silver badges29 bronze badges

5

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

answered Nov 17, 2015 at 16:05

Driss Bounouar's user avatar

Driss BounouarDriss Bounouar

3,1431 gold badge31 silver badges48 bronze badges

5

Bill the Lizard's user avatar

answered Nov 20, 2014 at 7:18

R00We's user avatar

R00WeR00We

1,93118 silver badges21 bronze badges

3

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]

answered Mar 31, 2016 at 16:24

IgorGanapolsky's user avatar

IgorGanapolskyIgorGanapolsky

25.6k22 gold badges115 silver badges146 bronze badges

9

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.

answered Sep 14, 2018 at 17:14

Saba's user avatar

SabaSaba

1,05012 silver badges17 bronze badges

1

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
    }
}

saketr64x's user avatar

answered Sep 15, 2017 at 6:14

vaibhav's user avatar

vaibhavvaibhav

1921 silver badge10 bronze badges

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 🙂

answered Sep 7, 2016 at 6:16

Jonathan Perry's user avatar

Jonathan PerryJonathan Perry

2,8532 gold badges44 silver badges49 bronze badges

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'
    }
}

answered Nov 26, 2018 at 21:22

ediBersh's user avatar

ediBershediBersh

1,1151 gold badge12 silver badges19 bronze badges

2

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

answered Aug 14, 2018 at 22:31

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.

answered Jun 15, 2015 at 9:23

muetzenflo's user avatar

muetzenflomuetzenflo

5,5014 gold badges38 silver badges81 bronze badges

1

Visual Studio mac — you can change the support here:

enter image description here

answered Jun 21, 2017 at 20:46

LeRoy's user avatar

LeRoyLeRoy

3,8152 gold badges34 silver badges43 bronze badges

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
            }
        }

answered Dec 21, 2020 at 16:04

Sana Ebadi's user avatar

Sana EbadiSana Ebadi

6,3341 gold badge41 silver badges43 bronze badges

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

answered Mar 22, 2018 at 5:58

Kusal Dissanayake's user avatar

1

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

answered Oct 27, 2018 at 0:29

Saleem Kalro's user avatar

Saleem KalroSaleem Kalro

1,0429 silver badges12 bronze badges

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

answered Dec 22, 2018 at 5:09

Fidel's user avatar

FidelFidel

6,77911 gold badges52 silver badges78 bronze badges

1

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

Community's user avatar

answered Jun 10, 2016 at 20:22

master_dodo's user avatar

master_dodomaster_dodo

1,1363 gold badges18 silver badges30 bronze badges

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.

answered Nov 15, 2018 at 8:27

Sumit Kumar's user avatar

Sumit KumarSumit Kumar

6431 gold badge8 silver badges19 bronze badges

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

answered Mar 13, 2020 at 9:37

Denis Dmitrienko's user avatar

Denis DmitrienkoDenis Dmitrienko

1,4222 gold badges15 silver badges26 bronze badges

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!

answered Sep 15, 2020 at 15:58

Sagar Wankhede's user avatar

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

answered Sep 27, 2021 at 22:15

Ashiq Ullah's user avatar

2

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

answered Mar 22, 2019 at 6:11

Khan.N's user avatar

Hi if you are using this library;

implementation 'org.apache.directory.studio:org.apache.commons.io:2.4'

Replace it with:

implementation 'commons-io:commons-io:2.6'

And the problem will be fixed.

answered Jul 10, 2022 at 23:10

FreddicMatters's user avatar

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.

answered Jun 18, 2018 at 3:01

Barry Fruitman's user avatar

Barry FruitmanBarry Fruitman

12.1k12 gold badges69 silver badges128 bronze badges

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.

answered Nov 13, 2018 at 1:46

Nieminen's user avatar

NieminenNieminen

1,2292 gold badges14 silver badges28 bronze badges

In my case setting folowing options helpet me out

enter image description here

answered Jul 29, 2019 at 12:55

Stefan Michev's user avatar

Stefan MichevStefan Michev

4,6563 gold badges34 silver badges30 bronze badges

Somehow, this fix the issue out of no reason.

./gradlew clean assemble and then install the app.

answered Jul 16, 2020 at 7:57

Francis Bacon's user avatar

Francis BaconFrancis Bacon

3,6301 gold badge34 silver badges46 bronze badges

I am trying to install an apk that contains armeabi-v7a native libraries, on an emulator with KVM enabled. When I try to install the apk on to the running device I am facing this error: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

As per https://developer.android.com/studio/releases/emulator#30-0-0 the error above shouldn’t occur on Android 9 or 11

Android 11 system images
You can now create an AVD that runs Android 11 by selecting either of the available API level 30 system images:

x86: Includes both x86 and ARMv7 ABIs.
x86_64: Includes x86, x86_64, ARMv7 and ARM64 ABIs.
Support for ARM binaries on Android 9 and 11 system images
If you were previously unable to use the Android Emulator because your app depended on ARM binaries, you can now use the Android 9 x86 system image or any Android 11 system image to run your app – it is no longer necessary to download a specific system image to run ARM binaries. These Android 9 and Android 11 system images support ARM by default and provide dramatically improved performance when compared to those with full ARM emulation.

My environment is Ubuntu 18.04 (LTS)
Here are some of my setup commands:

tools https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip

sdkmanager --install "system-images;android-28;default;x86" "emulator" "platform-tools" "platforms;android-28" (at this step feel free to replace x86 with x86_64)
Note I have tried with google-apis/playstore services and it allows the installation but fails at runtime.

avdmanager create avd -n "x86" -k "system-images;android-28;default;x86" (same steps of replacement apply)

emulator @x86 -no-boot-anim -noaudio -no-window -verbose -wipe-data -partition-size 1024 -qemu -enable-kvm

Is it something I’m missing? editing the build.prop file doesn’t help.

На чтение 4 мин. Просмотров 97 Опубликовано 15.12.2019

Я попытался установить приложение в Android L Preview Intel Atom Virtual Device, оно не удалось с ошибкой:

INSTALL_FAILED_NO_MATCHING_ABIS — это когда вы пытаетесь установить приложение с собственными библиотеками и без встроенной библиотеки для архитектуры вашего процессора. Например, если вы скомпилировали приложение для armv7 и пытаетесь установить его на эмуляторе, использующем архитектуру Intel, оно не будет работать.

INSTALL_FAILED_NO_MATCHING_ABIS — это когда вы пытаетесь установить приложение с собственными библиотеками и без встроенной библиотеки для архитектуры вашего процессора. Например, если вы скомпилировали приложение для armv7 и пытаетесь установить его на эмуляторе, использующем архитектуру Intel, оно не будет работать.

Использование Xamarin в Visual Studio 2015. Исправьте эту проблему следующим образом:

  1. Откройте свой xamarin .sln
  2. Щелкните правой кнопкой мыши ваш проект Android
  3. Нажмите свойства
  4. Нажмите Настройки Android
  5. Нажмите вкладку «Дополнительно»

В разделе «Поддерживаемые архитектуры» сделайте следующее:

Изменить: Сообщается, что это решение работает и в Visual Studio 2017.

Редактировать 2: Сообщалось, что это решение работает и в Visual Studio 2017 для Mac .

Я отправляю ответ из другой ветки, потому что это то, что у меня хорошо работает, хитрость заключается в том, чтобы добавить поддержку обеих архитектур:

Публикуя это, потому что я не мог найти прямой ответ и должен был посмотреть пару разных постов, чтобы получить то, что я хотел сделать .

Я попытался установить мое приложение в Android L Preview Intel Atom Virtual Device, у него не получилось с ошибкой:

INSTALL_FAILED_NO_MATCHING_ABIS

INSTALL_FAILED_NO_MATCHING_ABIS — это когда вы пытаетесь установить приложение с родными библиотеками, и у него нет собственной библиотеки для вашей архитектуры процессора. Например, если вы скомпилировали приложение для armv7 и пытаетесь установить его на эмулятор, который использует архитектуру Intel, то это не сработает.

INSTALL_FAILED_NO_MATCHING_ABIS — это когда вы пытаетесь установить приложение с родными библиотеками, и у него нет собственной библиотеки для вашей архитектуры процессора. Например, если вы скомпилировали приложение для armv7 и пытаетесь установить его на эмулятор, который использует архитектуру Intel, то это не сработает.

Использование Xamarin на Visual Studio 2015. Исправить эту проблему:

  1. Откройте свой xamarin.sln
  2. Щелкните правой кнопкой мыши ваш проект Android
  3. Свойства кликов
  4. Нажмите «Настройки Android».
  5. Перейдите на вкладку «Дополнительно».

В разделе «Поддерживаемые архитектуры» выполните следующие проверки:

Изменить. Сообщается, что это решение работает и на Visual Studio 2017.

Редактировать 2: Сообщается, что это решение работает и в Visual Studio 2017 для Mac.

Содержание

  1. Comments
  2. johnnyhonda commented Mar 25, 2018
  3. This comment has been minimized.
  4. johnnyhonda commented Mar 27, 2018
  5. This comment has been minimized.
  6. MaxHastings commented Jul 25, 2018
  7. This comment has been minimized.
  8. schildbach commented Jul 25, 2018
  9. This comment has been minimized.
  10. cyon1c commented Oct 8, 2018

Copy link Quote reply

Trying to install a basic Android app that uses bitcoinj.

I add bitcoinj to my build.grade

I can build the project and it will run on the android emulator, but I cannot get the app to install on a physical device. I see the following error in android studio:

Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

Any suggestions getting bitcoinj to install on a a physical android device?

Copy link Quote reply

Going to post this here in case anyone else is curious. You need to exclude the following native libs in order to run it on an arm device.

Add the following to your build.gradle

Copy link Quote reply

@johnnyhonda
Thank you! How did you manage to figure out that was the issue? Also I noticed that the error only occurs on Android Oreo and up.

Copy link Quote reply

I think we can close this now.

Copy link Quote reply

Hi all! I’d like to re-open this issue as this does not actually fix the problem, but rather allows it to fail silently, and leaves several components of the library broken. I’ve detailed my issues here on stack overflow. This is an unusable solution if bitcoinj is included in a library project.

What is incredibly odd is that the library builds and deploys fine on my older projects, as well as new projects that include C++ support.

I’ve also tried including as a jar, but that has it’s own issues.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка install failed internal error
  • Ошибка itunes 0xe800000a при подключении iphone к компьютеру через usb