将我的应用安装到Android L预览时失败并显示错误:
INSTALL_FAILED_NO_MATCHING_ABIS。
我的应用程序使用仅限arm的库,在x86上禁用了使用库的功能。它在Android L之前完美运行,但现在我甚至无法安装它。如何为我的应用禁用此错误?
答案 0 :(得分:25)
发布此信息是因为我无法找到直接答案,不得不查看几个不同的帖子以获取我想要的内容...
我可以使用x86 Accelerated(HAXM)模拟器,只需将其添加到我的模块的build.gradle
脚本内android{}
块:
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a'
universalApk true
}
}
运行(构建)...现在输出文件夹中会有(yourapp)-x86-debug.apk
。我确信有一种方法可以在Run上自动安装,但我只是启动我首选的HAXM模拟器并使用命令行:
adb install (yourapp)-x86-debug.apk
答案 1 :(得分:4)
我认为线程启动程序想要构建一个带有可选本机库的APK,它只会加载到ARM设备上。目前这似乎是不可能的(仅使用splits / multi apk)。我面临同样的问题并创建了bug report。
答案 2 :(得分:3)
与团结合作时也会出现此问题。问题是您的应用程序使用ARM体系结构以及您尝试安装应用程序支持的设备或模拟器,例如x86。尝试在ARM模拟器上安装它。希望能解决问题。
答案 3 :(得分:3)
在application.mk
中,尝试在
x86
APP_ABI:= armeabi-v7a
它应该看起来像这样
APP_ABI:= armeabi-v7a x86
答案 4 :(得分:2)
您可以在中找到答案 INSTALL_FAILED_NO_MATCHING_ABIS when install apk
INSTALL_FAILED_NO_MATCHING_ABIS是您尝试安装具有本机库的应用程序时,它没有适用于您的cpu体系结构的本机库。例如,如果您为armv7编译了一个应用程序,并且正在尝试将其安装在使用英特尔架构的模拟器上,则它将无法工作。