首页 > 技术文章 > Genymotion安装apk时报错 Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113] 【已解决】

yushengaqingzhijiao 2021-09-06 10:10 原文

 

Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

 

 

1.最近在用Genymotion安装第三方apk时报错,报错提示的

 

 

 

 

2.问题原因

 

由于安装的APP中使用了与当前CPU架构不一致的native libraries,所以导致报错,因为现在绝大多数的智能手机还都是采用ARM架构的,虽然android是支持ARM和x86架构,但是它们的指令集是有差别的,APP在开发的时候使用的是ARM的本地库,而我们在用AVD创建模拟器的时候使用的是x86的CPU,因此导致报错。所以,如果APP是在x86架构下编译的我们就创建x86cpu的模拟器,如果APP是在ARM架构编译的我们就创建ARMcpu的模拟器。
————————————————
版权声明:本文为CSDN博主「繁城落叶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Leafage_M/article/details/86675699

 

问题已经很清楚了,是当前的app使用了native libraries与模拟器的CPU架构不一致所导致的,而genymotion模拟器默认创建的只支持x86架构而不支持arm架构,这样看来这个app使用了支持arm架构的一些库,所以在x86上会无法安装。事实就是源码中使用了.so文件,当一个应用安装在设备上,只有该设备支持的CPU架构对应的.so文件会被安装。所以对应的arm部分文件无法安装从而导致安装失败。

3.解决办法

让genymotion模拟器支持arm架构。

既然创建的是x86模拟器,那么需要使用转换包使其能够支持arm。

这里提供网上的一些资源:

  https://www.jianshu.com/p/97b8250f359e

 

ARM_Translation_Marshmallow 放入虚拟机当中

 

然后重启手机,可能有点慢,然后再次安装就可以了

 

推荐阅读