起因
从事android开发的小伙伴都知道,在我们进行so库适配的时候,只需要保留armabi这个库,就可以匹配市面上几乎所有的机型
但同时我们也知道,不同架构cpu只能执行与其对应架构编译出来的程序,...也就是说x86设备只能执行x86程序,而不能执行ARM程序
那为什么x86的安卓设备却可以执行armabi的so库呢?...Houdini可以把ARM指令集转化为X86指令集从而在Android X86设备上运行
同时由于市面上mips架构的安卓设备非常少,这也就是为什么只需一个armabi就可以通吃几乎所有设备,不过x86...设备运行ARM程序虽然没什么问题,但是执行效率的损伤是必然的
附加
在adb shell模式下, 可以通过一下命令查看当前安卓设备支持的指令架构:
getprop
如果是x86的cpu,既可以运行x86...的可执行文件,也可执行ARM架构的程序,具体的参考prop中对应的abi