【发布时间】:2014-02-24 04:38:02
【问题描述】:
我使用 NDK 为 ARM 处理器构建了二进制文件,但由于某些依赖关系,我无法为 x86 构建它们。有没有机会在 x86 或 MIPS 架构上使用这个二进制文件?
【问题讨论】:
标签: android android-ndk x86 arm
我使用 NDK 为 ARM 处理器构建了二进制文件,但由于某些依赖关系,我无法为 x86 构建它们。有没有机会在 x86 或 MIPS 架构上使用这个二进制文件?
【问题讨论】:
标签: android android-ndk x86 arm
x86 和 MIP 设备都能够进行 ARM 二进制转换,在 MIP 上使用 Magic Code,在 x86 上使用 Houdini。然而,这两者都是有代价的,而且它们都不太可能成为长期解决方案(两家公司都可能希望它们早日消失)。
您提到由于某些依赖性问题,您无法为 x86 构建库?还是这样吗?我认为您正在使用一些不包含 x86 版本的库?
为了将来参考,如果你确实想为 x86 native 构建,过程非常简单,你所要做的就是添加 APP_ABI+=x86 或将 x86 添加到现有的 APP_ABI 列表中......并且...... 。这就对了。真的。
【讨论】:
有没有机会在 x86 或 MIPS 架构上使用这个二进制文件?
我无法评论 MIPS。
x86 devices that ship with libhoudini 将能够使用您基于 ARM 的 NDK 二进制文件。 AFAIK,这是大多数当前一代的 x86 设备,比如三星的一些平板电脑。如果您通过 Play 商店发货,配备libhoudini 的设备应该能够下载并安装您的应用,而无需对您进行任何更改。
但请注意,libhoudini 运行 ARM 二进制文件的速度比 x86 二进制文件慢得多。这类似于 Android 模拟器运行 ARM 模拟器映像的速度比 x86 模拟器映像慢得多。
【讨论】:
CPU 的构建绝对不可能被其他人理解。
指令集不同,例如,它就像用英语词典 (cpu) 解释法语文本 (code)。
【讨论】: