问题描述
有时候将写好的程序运行到Android模拟器上的时候,可能会遇到”Installation failed with message INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113.” 的错误,
导致这个错误的原因是你的应用使用了原生库(NDK,Native Lib),这些库的编译目标通常是arm架构的cpu,在x86上运行就会报这样的错误。
解决办法
- 换成arm架构的模拟器:既然x86的模拟器上不行,那换成arm架构的模拟器不就好了么?是不是很聪明,哈哈。。
- 如果就是想用x86的模拟器怎么办?那也有解决办法:
在AndroidStudio 的build.gradle(Moudule:app) 文件中加入以下代码:
android {
...
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a','x86_64'
universalApk true
}
}
...
}
这样在Debug运行的时候,编译器就会根据不同的cpu架构,在app/build/outputs/apk/下生成对应的apk。如果还是安装失败的化,可以用adb命令进行安装。