2

据我所知,Razr i 是目前唯一一款基于英特尔的智能手机。

我们的应用程序使用通过 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?

4

1 回答 1

2

这有两个部分

  1. Razr I 通过使用称为二进制翻译的概念,即 Houdini 来支持 ARM 二进制文件。因此,ARM 指令会即时转换为 x86,您的应用程序可以轻松运行。但是,会产生轻微的转换开销,但不足以导致性能下降。
  2. 最好的方法是将你的库移植到 x86,因为这意味着你可以从 x86 架构中获得最大的收益。

许多应用程序就像在 Razr I 上一样运行,但实际上并未指定支持 x86。所以 99% 的可能性是您的应用程序可能只在 Razr I 上运行,因为实际上没有相关的 x86 库。

于 2013-05-14T00:42:30.040 回答