我试图将我的应用程序安装到Android L预览英特尔Atom虚拟设备,它失败了,错误:
INSTALL_FAILED_NO_MATCHING_ABIS
这是什么意思?
我试图将我的应用程序安装到Android L预览英特尔Atom虚拟设备,它失败了,错误:
INSTALL_FAILED_NO_MATCHING_ABIS
这是什么意思?
当前回答
在我的情况下,设置以下选项帮助我
其他回答
Android 8:
Apache.com mons. IO: 2.4
给出INSTALL_FAILED_NO_MATCHING_ABIS,尝试将其更改为实现'common -io:common -io:2.6',它将工作。
INSTALL_FAILED_NO_MATCHING_ABIS是当你试图安装一个有本机库的应用程序,而它没有适合你的cpu架构的本机库时。例如,如果你为armv7编译了一个应用程序,并试图将其安装在使用英特尔架构的模拟器上,它将无法工作。
当我从Android 7(牛轧糖)转移到Android 8(奥利奥)时,我遇到了这个问题。
我尝试了上面列出的几种方法,但不幸的是,这些方法都不起作用。
所以我把。apk文件改为。zip文件提取它,并找到了这个文件所在的lib文件夹/x86_64/darwin/libscrypt。为了删除这个,我在我的构建中添加了一个代码。Gradle模块下面的android部分(即)
packagingOptions {
exclude 'lib/x86_64/darwin/libscrypt.dylib'
exclude 'lib/x86_64/freebsd/libscrypt.so'
exclude 'lib/x86_64/linux/libscrypt.so'
}
欢呼声问题解决
这对我很管用……Android > Gradle脚本>构建。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) 添加到构建。Gradle(在模块应用程序中)在android范围内打包选项。 它帮助了我。
android {
...
packagingOptions {
exclude 'lib/x86_64/darwin/libscrypt.dylib'
exclude 'lib/x86_64/freebsd/libscrypt.so'
exclude 'lib/x86_64/linux/libscrypt.so'
}
}