【问题标题】:NDK: are x86 binaries needed for the Razr i?NDK:Razr i 是否需要 x86 二进制文件?
【发布时间】:2013-05-14 00:29:37
【问题描述】:

据我所知,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 是不是这样?

【问题讨论】:

    标签: android android-ndk


    【解决方案1】:

    这有两部分

    1. Razr I 通过使用称为二进制转换的概念,即 Houdini 来支持 ARM 二进制文件。因此,ARM 指令会即时转换为 x86,您的应用程序运行起来没有任何麻烦。但是,会产生轻微的转换开销,但不足以导致性能下降。
    2. 最佳途径是将库移植到 x86,因为这意味着您可以充分利用 x86 架构。

    许多应用程序在 Razr I 上的运行方式与此类似,实际上并未指定支持 x86。所以 99% 的可能性是您的应用程序可能只是在 Razr I 上运行,因为实际上没有相关的 x86 库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-13
      • 2018-04-24
      • 2011-09-17
      • 2018-04-30
      • 2012-10-25
      • 2019-09-20
      相关资源
      最近更新 更多