在我正在开发的应用程序中,我需要使用C库。这意味着我将不得不处理所有不同Android设备的所有不同指令集,对吧?
所有这些指令集中是否有可用的列表(或者有人可以告诉我?)?我知道到目前为止所有的Android设备都是32位的,但当然还有更多的东西。
答案 0 :(得分:2)
三巨头是ARMv5,ARMv7和x86。 ARMv7设备可以运行ARMv5指令。但是ARMv7 CPU有一个浮点协处理器,而ARMv5没有。因此,如果您正在进行大量的浮点工作,我肯定会为每个架构生成.so
NDK文件。如果您没有进行浮点数学运算,可以尝试跳过ARMv5。
虽然大多数Android设备都是由ARM提供支持,但x86正在推迟。我有a blog post discussing libhoudini
作为一种避免使用专用x86二进制文件的方法,但性能成本却很高。
还有对MIPS的Android支持。我看到的下一个MIPS驱动的Android设备将是我的第一个。因此,开发人员通常不会担心这一点,即使NDK支持它(IIRC)。