我试图将我的应用程序安装到Android L预览英特尔Atom虚拟设备,它失败了,错误:

INSTALL_FAILED_NO_MATCHING_ABIS

这是什么意思?


当前回答

我有这个问题使用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'
    }
}

其他回答

这发生在我身上。我检查了SDK管理器,它告诉我我正在使用的有更新。我更新了它,问题就消失了。

INSTALL_FAILED_NO_MATCHING_ABIS是当你试图安装一个有本机库的应用程序,而它没有适合你的cpu架构的本机库时。例如,如果你为armv7编译了一个应用程序,并试图将其安装在使用英特尔架构的模拟器上,它将无法工作。

嗨,如果你正在使用这个库;

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

替换为:

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

问题会得到解决。

对于mac上的genymotion,我在安装apk时得到INSTALL_FAILED_NO_MATCHING_ABIS错误。

在我的项目中没有任何“APP_ABI”,但我相应地添加了它,它只为两个架构构建了一个apk,但它工作了。 https://stackoverflow.com/a/35565901/3241111

就我而言,我需要下载x86版本的应用程序。

访问https://www.apkmirror.com/ 搜索应用程序 选择列表中的第一个 查看页面顶部,有[公司名称]>[应用程序名称]>[版本号] 单击应用程序名称 点击“所有变体” 该列表应该包含一个可供下载的x86变体