我试图将我的应用程序安装到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。

其他回答

这个问题是针对CPU架构的,你在lib文件夹中有一些abi。

去建造。Gradle为你的应用模块,在android,块添加这个:

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

如果你使用Genymotion,你需要安装ARM翻译和GApps

不知何故,这毫无理由地解决了问题。

./gradlew清洁组装,然后安装应用程序。

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

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

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

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