我试图将我的应用程序安装到Android L预览英特尔Atom虚拟设备,它失败了,错误:
INSTALL_FAILED_NO_MATCHING_ABIS
这是什么意思?
我试图将我的应用程序安装到Android L预览英特尔Atom虚拟设备,它失败了,错误:
INSTALL_FAILED_NO_MATCHING_ABIS
这是什么意思?
当前回答
这个解决方案对我很有效。试试这个, 在应用程序的构建中添加以下行。gradle文件
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a'
universalApk true
}
}
其他回答
以防万一,这可能会帮助到像我这样的人。 我在Unity 3D中也遇到了同样的问题。我试图使用Android Studio中的模拟器。 所以我在播放器设置中启用了目标架构->x86架构(尽管已弃用),它起作用了!
@enl8enmentnow的注释应该是使用genymotion修复问题的答案:
如果你在Genymotion上遇到这个问题,即使是在使用ARM转换器,那是因为你正在创建一个像谷歌Nexus 10这样的x86虚拟设备。选择一个ARM虚拟设备,比如自定义平板电脑。
我知道这里有很多答案,但是TL;DR版本是这样的(如果你使用Xamarin Studio):
在解决方案树中右键单击Android项目 选择选项 点击Android Build 进入高级选项卡 检查您在模拟器中使用的架构(可能是x86 / armeabi-v7a / armeabi) 制作一款出色的应用吧!
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。
嗨,如果你正在使用这个库;
implementation 'org.apache.directory.studio:org.apache.commons.io:2.4'
替换为:
implementation 'commons-io:commons-io:2.6'
问题会得到解决。