INSTALL_FAILED_NO_MATCHING_ABISэто когда вы пытаетесь установить приложение с собственными библиотеками и без встроенной библиотеки для вашей архитектуры процессора. Например, если вы скомпилировали приложение для armv7 и пытаетесь установить его на эмуляторе, использующем архитектуру Intel, оно не будет работать.
@DanielOchoa Это потому, что они хотят сохранить два изображения для предварительного просмотра. Когда L будет официально запущен, я уверен, что будет и образ Intel x86.
Химаншу Шарма
1
Как побороть по этой проблеме. Я использую Genymotion Emulater и устанавливаю gapps, а Genymotion-ARM-Translation_v1.1 все еще получаю эту проблему.
Прашант Махешвари Андро
3
Если у вас есть эта проблема на Genymotion даже при использовании транслятора ARM, это потому, что вы создаете виртуальное устройство x86, такое как Google Nexus 10. Вместо этого выберите виртуальное устройство ARM, как одну из пользовательских таблиц.
inv8enmentnow
1
Любая идея, почему это не будет работать на Nexus 9 под управлением 5.1.1. Отлично работает на планшете Sony Xperia Z2 под управлением 4.4.2. Скомпилировано Sdk 21, мин 17 и цель 22.
Медведь
3
У меня была эта проблема при использовании эмулятора Android Studio для Nexus 5x на моем компьютере с Windows. По соображениям скорости [в 10 раз быстрее] по умолчанию имитируется телефон, как будто он работает с архитектурой Intel x86 [Snapdragon 808 Nexus 5x фактически основан на ARM: tomshardware.com/reviews/lg-g4,4353-2.html ] , Я исправил ошибку, введя диспетчер AVD, выбрав имитирующее устройство, которое сообщало мне ошибку, и нажал кнопку «Изменить», где я установил архитектуру ARM (armeabi-v7a). После этого изменения плюс перезагрузка эмулятора установка прошла без проблем
Антонино
150
INSTALL_FAILED_NO_MATCHING_ABIS - это когда вы пытаетесь установить приложение с собственными библиотеками и без встроенной библиотеки для архитектуры вашего процессора. Например, если вы скомпилировали приложение для armv7 и пытаетесь установить его на эмуляторе, использующем архитектуру Intel, оно не будет работать.
Использование Xamarin в Visual Studio 2015.
Исправьте эту проблему следующим образом:
Откройте свой xamarin .sln
Щелкните правой кнопкой мыши ваш проект Android
Нажмите свойства
Нажмите Настройки Android
Нажмите вкладку «Дополнительно»
В разделе «Поддерживаемые архитектуры» сделайте следующее:
armeabi-v7a
x86
спасти
F5 (сборка)
Изменить: Сообщается, что это решение работает и в Visual Studio 2017 .
Редактировать 2: Сообщалось, что это решение работает и в Visual Studio 2017 для Mac .
Это решение работало и в Visual Studio 2017, для проекта Xamarin.Android.
corentinaltepe
1
Это также сработало для меня при использовании проекта приложения Android WebView
JRodd
4
Похоже, на Xamarin, каждый новый день появляется новое, неожиданное препятствие, мешающее мне запустить мое приложение (которое работало вчера). Так как мой файл csproj находится в dropbox, я мог проверить историю версий, а вчера этого свойства не было в файле, оно вообще отсутствовало. Сегодня мне пришлось добавить опцию x86, чтобы приложение работало. Почему xamarin или android вдруг используют разные значения по умолчанию? Это так расстраивает! В любом случае, благодаря таким людям, как вы, я могу справиться и продолжить работу. Большое спасибо и +1 для вас!
TMan
2
Хотелось бы, чтобы я проголосовал несколько раз ... Протестировано и работаю над VS 2017 для Mac.
ДжордиВилаплана,
Для Visual Studio Community 2019 для Mac: 1. Щелкните правой кнопкой мыши на своем проекте Android 2. Выберите «Параметры». 3. Выберите «Сборка Android». 4. Дополнительно
ноль,
87
Я отправляю ответ из другой ветки, потому что это то, что у меня хорошо работает, хитрость заключается в том, чтобы добавить поддержку для обеих архитектур:
Публикуя это, потому что я не мог найти прямой ответ, и мне пришлось просмотреть пару разных сообщений, чтобы получить то, что я хотел сделать ...
Я смог использовать эмулятор x86 Accelerated (HAXM), просто добавив его в скрипт своего модуля build.gradle внутри блока android {}:
splits {
abi {
enable true
reset()
include 'x86','armeabi-v7a'
universalApk true}}
Запустить (построить) ... Теперь в вашей выходной папке будет (yourapp) -x86-debug.apk. Я уверен, что есть способ автоматизировать установку при запуске, но я просто запускаю предпочитаемый эмулятор HAXM и использую командную строку:
В некоторых API, которые вы использовали, вам нужно добавить и «ARM Translation Installer v1.1», и «GApps для вашей версии Android».
saneryee
4
ОБНОВЛЕНИЕ 28 мая 2017: Это руководство больше не поддерживается и, вероятно, не работает. Пожалуйста, не используйте его или обратитесь за поддержкой больше. от xda-developers
AndroidCoolestRulest
1
Вы можете перейти по этой ссылке для установки ARM Translation
Devansh Maurya
37
Это действительно странная ошибка, которая может быть вызвана мультидексированием вашего приложения. Чтобы обойти это, используйте следующий блок в файле build.gradle вашего приложения :
android {
splits {
abi {
enable true
reset()
include 'x86','armeabi-v7a'
universalApk true}}...[rest of your gradle script]
Привет. Это сделало мой проект успешным, но все равно выдало мне ту же ошибку. Я работаю на Mac, Genymotion. Кроме того, в общем, эти настройки, которые вы сказали, только для отладочной версии или также для сборки выпуска?
myDoggyWritesCode
@ user3241111 Это можно использовать как для отладки, так и для prod. Вы пытались очистить свой проект. Или, возможно, сделать недействительным / перезапустить Android Studio?
Игорь Ганапольский
1
@ user3241111 Если вы используете gradlew для сборки терминала из командной строки, то вы все равно можете очистить свой проект с помощью gradle.
Игорь Ганапольский
1
Я попробовал это решение, оно сработало. В моем проекте не было APP_ABI. Но я добавил его соответственно, и он собирает только один apk, и он работает. stackoverflow.com/a/35565901/3241111
myDoggyWritesCode
1
Кроме того, я только что добавил включенного демона gradle, и он сильно ускорил процесс ... В любом случае, спасибо за вашу поддержку :)
myDoggyWritesCode
11
Я знаю, что здесь было много ответов, но версия TL; DR такова (если вы используете Xamarin Studio):
Щелкните правой кнопкой мыши проект Android в дереве решений.
Выбрать Options
Перейти к Android Build
Перейти на Advancedвкладку
Проверьте архитектуры, которые вы используете в своем эмуляторе (вероятно, x86/ armeabi-v7a/armeabi )
Большое вам спасибо, вы спасли мой день. Я не знаю, почему я получил: реализация 'org.apache.directory.studio:org.apache.commons.io:2.4'
Пьеррик ХИМБЕРТ,
7
Комментарий @ ent8enmentnow должен быть ответом для решения проблемы с помощью genymotion:
Если у вас есть эта проблема в Genymotion даже при использовании транслятора ARM, это потому, что вы создаете виртуальное устройство x86, такое как Google Nexus 10. Вместо этого выберите виртуальное устройство ARM, как одну из пользовательских таблиц.
Я работаю на Mac и, вероятно, это сборка для виртуального устройства x86. Я также пытался использовать пользовательский планшет genymotion, он не работал и
выдает
7
это сработало для меня ... Android> Gradle Scripts> build.gradle (Модуль: приложение) добавить внутри Android *
у меня была эта проблема с использованием библиотеки bitcoinJ (org.bitcoinj: bitcoinj-core: 0.14.7), добавленной в build.gradle (в модуле app) варианты упаковки внутри области android. это помогло мне.
Большое вам спасибо, я пробую много решений, но это решение работает для меня для меня. Моя проблема для scrypt-1.4.0.jar не устанавливается в Android Pie версия (Nokia 7.1) Устройство
Sagar Pithiya
3
В моем случае в проекте xamarin в Visual Studio ошибку удаляли, выбрав «Свойства» -> «Параметры Android» и отметив «Использовать время совместного использования» и «Быстрое развертывание», в некоторых случаях один из них.
Для genymotion на Mac я получил ошибку INSTALL_FAILED_NO_MATCHING_ABIS при установке моего apk.
В моем проекте не было никакого "APP_ABI", но я добавил его соответственно, и он собрал только один apk для обеих архитектур, но он работал.
https://stackoverflow.com/a/35565901/3241111
В основном, если вы попробовали все выше и по-прежнему у вас та же ошибка «Потому что я тоже сталкивался с этой проблемой раньше», то проверьте, какие .jar или .aar или модуль, который вы добавили, могут быть одной библиотекой, использующей ndk, и которая не поддерживает 8.0 (Oreo) +, также я использую библиотеку сокетов Microsoft SignalR, добавляя свои файлы .jar, и недавно я обнаружил, что приложение не устанавливается в Oreo, а затем я удаляю эту библиотеку, потому что в настоящее время на ее странице git нет решения, и я перехожу к другой. ,
Поэтому, пожалуйста, проверьте библиотеку, которую вы используете, и поищите ее, если вам она очень нужна.
Я столкнулся с этой проблемой при переходе с Android 7 (Nougat) на Android 8 (Oreo).
Я пробовал несколько способов, перечисленных выше, и, к моему несчастью, ничего не получалось.
Поэтому я изменил файл .apk на файл .zip, извлек его и нашел папку lib, в которой этот файл находился /x86_64/darwin/libscrypt.dylib, поэтому, чтобы удалить это, я добавил код в свой модуль build.gradle ниже раздела Android (т.е. )
Довольно поздно, но только столкнулся с этим. Это для Xamarin.Android. Убедитесь, что вы не пытаетесь отлаживать в режиме выпуска. Я получаю ту же самую ошибку, если в режиме выпуска и пытаюсь отладить. Простое переключение с релиза на отладку позволило моему установить правильно.
Ответы:
INSTALL_FAILED_NO_MATCHING_ABIS
это когда вы пытаетесь установить приложение с собственными библиотеками и без встроенной библиотеки для вашей архитектуры процессора. Например, если вы скомпилировали приложение для armv7 и пытаетесь установить его на эмуляторе, использующем архитектуру Intel, оно не будет работать.источник
Использование Xamarin в Visual Studio 2015. Исправьте эту проблему следующим образом:
В разделе «Поддерживаемые архитектуры» сделайте следующее:
спасти
Изменить: Сообщается, что это решение работает и в Visual Studio 2017 .
Редактировать 2: Сообщалось, что это решение работает и в Visual Studio 2017 для Mac .
источник
Я отправляю ответ из другой ветки, потому что это то, что у меня хорошо работает, хитрость заключается в том, чтобы добавить поддержку для обеих архитектур:
Публикуя это, потому что я не мог найти прямой ответ, и мне пришлось просмотреть пару разных сообщений, чтобы получить то, что я хотел сделать ...
Я смог использовать эмулятор x86 Accelerated (HAXM), просто добавив его в скрипт своего модуля build.gradle внутри блока android {}:
Запустить (построить) ... Теперь в вашей выходной папке будет (yourapp) -x86-debug.apk. Я уверен, что есть способ автоматизировать установку при запуске, но я просто запускаю предпочитаемый эмулятор HAXM и использую командную строку:
источник
(yourapp)-x86-debug.apk
файл в выводе моего проекта.Если вы используете Genymotion, вам нужно установить ARM Translation и GApps
источник
Это действительно странная ошибка, которая может быть вызвана мультидексированием вашего приложения. Чтобы обойти это, используйте следующий блок в файле build.gradle вашего приложения :
источник
Я знаю, что здесь было много ответов, но версия TL; DR такова (если вы используете Xamarin Studio):
Options
Android Build
Advanced
вкладкуx86
/armeabi-v7a
/armeabi
)источник
Это решение сработало для меня. Попробуйте это, добавьте следующие строки в файл build.gradle вашего приложения
источник
На Android 8:
он дает INSTALL_FAILED_NO_MATCHING_ABIS, попробуйте изменить его на 2,5 или 2,6, и он будет работать или комментировать.
источник
Комментарий @ ent8enmentnow должен быть ответом для решения проблемы с помощью genymotion:
источник
это сработало для меня ... Android> Gradle Scripts> build.gradle (Модуль: приложение) добавить внутри Android *
источник
Visual Studio Mac - вы можете изменить поддержку здесь:
источник
у меня была эта проблема с использованием библиотеки bitcoinJ (org.bitcoinj: bitcoinj-core: 0.14.7), добавленной в build.gradle (в модуле app) варианты упаковки внутри области android. это помогло мне.
источник
В моем случае в проекте xamarin в Visual Studio ошибку удаляли, выбрав «Свойства» -> «Параметры Android» и отметив «Использовать время совместного использования» и «Быстрое развертывание», в некоторых случаях один из них.
источник
Для genymotion на Mac я получил ошибку INSTALL_FAILED_NO_MATCHING_ABIS при установке моего apk.
В моем проекте не было никакого "APP_ABI", но я добавил его соответственно, и он собрал только один apk для обеих архитектур, но он работал. https://stackoverflow.com/a/35565901/3241111
источник
В выпуске Visual Studio Community 2017 иногда не поддерживается выбор поддерживаемых ABI из параметров Android.
В этом случае убедитесь, что .csproj имеет следующую строку и не содержит повторяющихся строк в тех же конфигурациях сборки.
Чтобы редактировать,
источник
В основном, если вы попробовали все выше и по-прежнему у вас та же ошибка «Потому что я тоже сталкивался с этой проблемой раньше», то проверьте, какие .jar или .aar или модуль, который вы добавили, могут быть одной библиотекой, использующей ndk, и которая не поддерживает 8.0 (Oreo) +, также я использую библиотеку сокетов Microsoft SignalR, добавляя свои файлы .jar, и недавно я обнаружил, что приложение не устанавливается в Oreo, а затем я удаляю эту библиотеку, потому что в настоящее время на ее странице git нет решения, и я перехожу к другой. ,
Поэтому, пожалуйста, проверьте библиотеку, которую вы используете, и поищите ее, если вам она очень нужна.
источник
Я столкнулся с этой проблемой при переходе с Android 7 (Nougat) на Android 8 (Oreo).
Я пробовал несколько способов, перечисленных выше, и, к моему несчастью, ничего не получалось.
Поэтому я изменил файл .apk на файл .zip, извлек его и нашел папку lib, в которой этот файл находился /x86_64/darwin/libscrypt.dylib, поэтому, чтобы удалить это, я добавил код в свой модуль build.gradle ниже раздела Android (т.е. )
Ура проблема решена
источник
В общем случае, чтобы узнать, какая зависимость библиотеки имеет несовместимый ABI,
Вы можете попытаться обновить версию / удалить / заменить эти библиотеки, чтобы решить INSTALL_FAILED_NO_MATCHING_ABIS при установке apk
источник
Это случилось со мной. Я проверил SDK Manager, и он сказал мне, что у того, который я использовал, было обновление. Я обновил его, и проблема ушла.
источник
Довольно поздно, но только столкнулся с этим. Это для
Xamarin.Android
. Убедитесь, что вы не пытаетесь отлаживать в режиме выпуска. Я получаю ту же самую ошибку, если в режиме выпуска и пытаюсь отладить. Простое переключение с релиза на отладку позволило моему установить правильно.источник
В моем случае мне нужно было скачать версию приложения для x86.
источник
В моем случае настройка следующих параметров поможет мне
источник