起因
从事android开发的小伙伴都知道,在我们进行so库适配的时候,只需要保留armabi这个库,就可以匹配市面上几乎所有的机型
但同时我们也知道,不同架构cpu只能执行与其对应架构编译出来的程序,...也就是说x86设备只能执行x86程序,而不能执行ARM程序
那为什么x86的安卓设备却可以执行armabi的so库呢?...解答
我们知道从最一开始基于ARM的程序占据了几乎所有的Android生态环境。Inter为了顺利打入移动市场,一个至关重要的问题就是需要兼容ARM应用程序。...Houdini可以把ARM指令集转化为X86指令集从而在Android X86设备上运行
同时由于市面上mips架构的安卓设备非常少,这也就是为什么只需一个armabi就可以通吃几乎所有设备,不过x86...设备运行ARM程序虽然没什么问题,但是执行效率的损伤是必然的
附加
在adb shell模式下, 可以通过一下命令查看当前安卓设备支持的指令架构:
getprop
如果是x86的cpu,既可以运行x86