【问题标题】:Will the binaries built for ARM work on Intel processors? [Android]为 ARM 构建的二进制文件能否在英特尔处理器上运行? [安卓]
【发布时间】:2014-02-24 04:38:02
【问题描述】:

我使用 NDK 为 ARM 处理器构建了二进制文件,但由于某些依赖关系,我无法为 x86 构建它们。有没有机会在 x86 或 MIPS 架构上使用这个二进制文件?

【问题讨论】:

    标签: android android-ndk x86 arm


    【解决方案1】:

    x86 和 MIP 设备都能够进行 ARM 二进制转换,在 MIP 上使用 Magic Code,在 x86 上使用 Houdini。然而,这两者都是有代价的,而且它们都不太可能成为长期解决方案(两家公司都可能希望它们早日消失)。

    您提到由于某些依赖性问题,您无法为 x86 构建库?还是这样吗?我认为您正在使用一些不包含 x86 版本的库?

    为了将来参考,如果你确实想为 x86 native 构建,过程非常简单,你所要做的就是添加 APP_ABI+=x86 或将 x86 添加到现有的 APP_ABI 列表中......并且...... 。这就对了。真的。

    【讨论】:

      【解决方案2】:

      有没有机会在 x86 或 MIPS 架构上使用这个二进制文件?

      我无法评论 MIPS。

      x86 devices that ship with libhoudini 将能够使用您基于 ARM 的 NDK 二进制文件。 AFAIK,这是大多数当前一代的 x86 设备,比如三星的一些平板电脑。如果您通过 Play 商店发货,配备libhoudini 的设备应该能够下载并安装您的应用,而无需对您进行任何更改。

      但请注意,libhoudini 运行 ARM 二进制文件的速度比 x86 二进制文件慢得多。这类似于 Android 模拟器运行 ARM 模拟器映像的速度比 x86 模拟器映像慢得多。

      【讨论】:

      • 感谢您的澄清!
      【解决方案3】:

      CPU 的构建绝对不可能被其他人理解。

      指令集不同,例如,它就像用英语词典 (cpu) 解释法语文本 (code)。

      【讨论】:

      • 我听说安卓设备上有一些英特尔架构的翻译器,所以他们应该提供一些兼容性,但我不确定..
      猜你喜欢
      • 1970-01-01
      • 2021-08-22
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 2013-12-12
      • 1970-01-01
      • 2011-11-16
      • 2012-07-08
      相关资源
      最近更新 更多