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

INSTALL_FAILED_NO_MATCHING_ABIS

这是什么意思?


当前回答

基本上如果你尝试一切,你仍然有同样的错误”,因为我面临这个问题之前太“然后检查. jar或. aar或模块添加使用ndk可能是一个库,这一个是不支持8.0(奥利奥)+,同样我使用微软SignalR插座库添加它的. jar文件和最近我发现应用程序没有安装在奥利奥后来我删除库,因为目前没有解决方案在git页面,我去另一个。

因此,如果你迫切需要,请检查你正在使用的图书馆并搜索它。

其他回答

在我的案例中,在xamarin项目中,在visual studio错误通过选择属性-> Android选项并检查使用共享运行时间和使用快速部署,在某些情况下,其中之一

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

使用Xamarin Visual Studio 2015。 修复此问题:

打开你的xamarin .sln 右击你的android项目 单击“属性” 点击Android选项 点击“高级”选项卡 在“支持的架构”下勾选以下内容: armeabi-v7a x86 保存 F5(建立)

编辑:据报道,此解决方案在Visual Studio 2017上也可以工作。

编辑2:据报道,此解决方案也适用于Mac版的Visual Studio 2017。

一般情况下,要找出哪个库依赖具有不兼容的ABI,

在Android Studio中构建APK文件(菜单build > build Bundle(s)/APK(s) > build APK(s)) // actual于01.04.2020 重命名APK文件,将扩展名“APK”替换为“zip” 解压缩文件到一个新文件夹 进入libs文件夹 找出带有不兼容的abi的*.jar库

您可以尝试升级版本/删除/替换这些库来解决安装apk时INSTALL_FAILED_NO_MATCHING_ABIS问题

在我的情况下(Windows 10, Flutter, Android Studio),我只是在Android Studio中创建了一个新的模拟器设备。这一次,我选择了x86_64 ABI而不是x86。这解决了我的问题。 我的模拟器设备如下面的截图所示。

这个解决方案对我很有效。试试这个, 在应用程序的构建中添加以下行。gradle文件

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