我试图将我的应用程序安装到Android L预览英特尔Atom虚拟设备,它失败了,错误:
INSTALL_FAILED_NO_MATCHING_ABIS
这是什么意思?
我试图将我的应用程序安装到Android L预览英特尔Atom虚拟设备,它失败了,错误:
INSTALL_FAILED_NO_MATCHING_ABIS
这是什么意思?
当前回答
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。
其他回答
很晚了,但刚碰到这个。这是用于xamarin的。android。确保您没有尝试在发布模式下进行调试。如果处于发布模式并试图调试,我会得到完全相同的错误。简单地从发布切换到调试就可以让我的软件正确安装。
我从另一个帖子中发布了一个答案,因为它对我来说很有效,诀窍是添加对两种架构的支持:
发布这篇文章是因为我找不到一个直接的答案,不得不看看几个不同的帖子来得到我想要的东西……
我能够使用x86加速(HAXM)模拟器,只需将其添加到我的模块构建中。gradle脚本在android{}块内:
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a'
universalApk true
}
}
运行(构建)…现在在你的输出文件夹中会有一个(yourapp)-x86-debug.apk。我确信有一种方法可以在运行时自动安装,但我只是启动我首选的HAXM模拟器并使用命令行:
adb install (yourapp)-x86-debug.apk
Visual Studio mac -你可以在这里更改支持:
在我的情况下(Windows 10, Flutter, Android Studio),我只是在Android Studio中创建了一个新的模拟器设备。这一次,我选择了x86_64 ABI而不是x86。这解决了我的问题。 我的模拟器设备如下面的截图所示。
在visual studio社区版2017中,有时从Android选项中选择受支持的ABIs将不起作用。
在这种情况下,请验证.csproj有以下行,并且在相同的构建配置中没有重复的行。
<AndroidSupportedAbis>armeabi;armeabi-v7a;x86;x86_64;arm64-v8a</AndroidSupportedAbis>
为了编辑,
卸载你的Android项目 右键单击并选择编辑项目… 确保在构建配置中只出现一次上面的行 保存 右键单击你的android项目并重新加载