据我所知,Razr i是目前唯一相关的基于Intel的智能手机。

我们的应用使用NDK附带的C ++库。现在,我想知道是否需要添加x86支持才能在Razr i上运行此应用程序。

如果未在Application.mk中设置“ APP_ABI”(默认为“ armeabi”),则Play商店会告诉我,对于该apk,支持2635个设备,而不支持282个设备。大部分不支持的平板电脑,我们的应用程序需要GPS。但是没有列出Razr i。

阅读http://software.intel.com/en-us/articles/google-play-supports-cpu-architecture-filtering-for-multiple-apk时,我偶然发现了以下语句:
“许多x86 ABI设备也可以运行ARMv7和ARMv5TE二进制文件。”
真?因此,可能没有必要为所有设备膨胀apk或每个版本管理2个apk?

有人可以告诉我Razr i是否正确?

最佳答案

共有2个部分


Razr I通过使用称为Binary转换的概念(即Houdini)来支持ARM二进制文件。因此,ARM指令可以即时转换为x86,并且您的应用程序可以轻松运行。但是,这会产生一些转换开销,但值得注意的是性能会下降。
最好的方法是将库的端口连接到x86,因为这意味着您可以从x86架构中获得最大收益。


许多应用程序都像在Razr I上那样运行,而实际上并没有被指定为支持x86。因此,有99%的机会是您的应用程序实际上可能没有相关的x86库,因此可以在Razr I上运行。

关于android - NDK:Razr i是否需要x86二进制文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16533272/

10-10 08:27