INSTALL_FAILED_NO_MATCHING_ABIS如何克服

时间:2014-07-15 06:31:59

标签: android

将我的应用安装到Android L预览时失败并显示错误:

INSTALL_FAILED_NO_MATCHING_ABIS。

我的应用程序使用仅限arm的库,在x86上禁用了使用库的功能。它在Android L之前完美运行,但现在我甚至无法安装它。如何为我的应用禁用此错误?

5 个答案:

答案 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编译了一个应用程序,并且正在尝试将其安装在使用英特尔架构的模拟器上,则它将无法工作。