Я попытался установить мое приложение в Android L Preview Intel Atom Virtual Device, у него не получилось с ошибкой:
INSTALL_FAILED_NO_MATCHING_ABIS
Что это значит?
Я попытался установить мое приложение в 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. Исправить эту проблему:
В разделе "Поддерживаемые архитектуры" выполните следующие проверки:
спасти
Изменить. Сообщается, что это решение работает и на Visual Studio 2017.
Редактировать 2: Сообщается, что это решение работает и в Visual Studio 2017 для Mac.
Я отправляю ответ из другого потока, потому что это хорошо работает для меня, трюк заключается в том, чтобы добавить поддержку для обеих архитектур:
Проводя это, потому что я не мог найти прямой ответ и должен был посмотреть несколько разных сообщений, чтобы получить то, что я хотел сделать...
Я смог использовать эмулятор 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
Если вы используете Genymotion, вам нужно Установка ARM-перевода и GApps
Это действительно странная ошибка, которая может быть вызвана мультисайсом вашего приложения. Чтобы обойти это, используйте следующий блок в своем приложении build.gradle:
android {
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a'
universalApk true
}
}
...[rest of your gradle script]
Я знаю, что здесь было много ответов, но версия TL; DR - это (если вы используете Xamarin Studio):
Options
Android Build
Advanced
x86
/armeabi-v7a
/armeabi
)Это решение сработало для меня. Попробуйте это, добавьте следующие строки в файл build.gradle приложения.
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a'
universalApk true
}
}
Комментарий @enl8enmentnow должен быть ответом, чтобы исправить проблему с помощью genymotion:
Если у вас есть эта проблема в Genymotion даже при использовании транслятора ARM, это происходит из-за того, что вы создаете виртуальное устройство x86, такое как Google Nexus 10. Вместо этого выберите виртуальное устройство ARM, например, одну из пользовательских таблеток.
Visual Studio mac - вы можете изменить поддержку здесь:
это сработало для меня... Android> Gradle Scripts> build.gradle (Модуль: приложение) добавить внутри Android *
android {
// compileSdkVersion 27
defaultConfig {
//
}
buildTypes {
//
}
// buildToolsVersion '27.0.3'
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a'
universalApk true
}
}
}
У меня была эта проблема, используя библиотеку 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'
}
}
На Android 8:
apache.commons.io:2.4
он дает INSTALL_FAILED_NO_MATCHING_ABIS, попробуйте изменить его на 2.5 или 2.6, и он будет работать или комментировать его.
INSTALL_FAILED_NO_MATCHING_ABIS означает, что архитектура не соответствует. Если вы используете Android Studio на Mac (который обычно использует Apple ARM), тогда вам нужно установить CPU/ABI Android Virtual Device на "arm" или "armeabi-v7a". Если, однако, вы используете Android Studio на ПК (который обычно использует чип Intel, затем установите значение "x86" или "x86_64".
В моем случае, в проекте xamarin, при удалении визуальной студия удалены, выбрав свойства → Настройки Android и установите флажок Использовать время выполнения и используйте быстрое развертывание, в некоторых случаях один из них
Для genymotion на mac я получал сообщение INSTALL_FAILED_NO_MATCHING_ABIS при установке моего apk.
В моем проекте не было никакого "APP_ABI", но я добавил его соответствующим образом, и он построил только один apk для обеих архитектур, но он сработал. fooobar.com/questions/24387/...
В сообществе сообщества Visual Studio 2017 иногда выбор поддерживаемых ABI из Android Options не работает.
В этом случае убедитесь, что.csproj имеет следующую строку и не содержит повторяющихся строк в тех же конфигурациях сборки.
<AndroidSupportedAbis>armeabi;armeabi-v7a;x86;x86_64;arm64-v8a</AndroidSupportedAbis>
Чтобы редактировать,
Это случилось со мной. Я проверил диспетчер SDK, и он сказал мне, что у меня было обновление. Я обновил его, и проблема исчезла.
Довольно поздно, но просто наткнулся на это. Это для Xamarin.Android
. Убедитесь, что вы не пытаетесь отлаживать в режиме выпуска. Я получаю точно такую же ошибку, если в режиме выпуска и пытаюсь отладить. Простое переключение с релиза на отладку позволило моему установить правильно.
В основном, если вы попробовали все выше и по-прежнему у вас та же ошибка "Потому что я тоже сталкивался с этой проблемой раньше", то проверьте, какой .jar или .aar или модуль, который вы добавили, может быть той библиотекой, использующей ndk, и которая не поддерживает 8.0 (Oreo) +, также я использую библиотеку сокетов Microsoft SignalR, добавляя свои файлы .jar, и недавно я обнаружил, что приложение не устанавливается в Oreo, а затем я удаляю эту библиотеку, потому что в настоящее время на ее странице git нет решения, и я перехожу к другой.,
Поэтому, пожалуйста, проверьте библиотеку, которую вы используете, и поищите ее, если она вам очень нужна.
В моем случае мне нужно было скачать версию приложения для x86.
Я столкнулся с этой проблемой при переходе с Android 7 (Nougat) на Android 8 (Oreo).
Я пробовал несколько способов, перечисленных выше, и, к моему несчастью, ничего не получалось.
Поэтому я изменил файл .apk на файл .zip, извлек его и нашел папку lib, в которой этот файл находился /x86_64/darwin/libscrypt.dylib, поэтому, чтобы удалить это, я добавил код в свой модуль build.gradle ниже раздела Android (т.е. )
packagingOptions {
exclude 'lib/x86_64/darwin/libscrypt.dylib'
exclude 'lib/x86_64/freebsd/libscrypt.so'
exclude 'lib/x86_64/linux/libscrypt.so'
}
Ура проблема решена
В моем случае настройка следующих параметров поможет мне
Существует простой способ: