libhoudini 是否可用于 Chrome OS 上的 ARC

Is libhoudini Available for ARC on Chrome OS

NDK 二进制文件可以在 Chrome OS.

上的 ARC 中运行

(而且很高兴)

但是,许多 Android 开发人员只提供 ARM 二进制文件,因为 x86 在手机和平​​板电脑中的市场渗透率很低。这得益于在许多 x86 Android 设备上存在 libhoudini,这些设备可以在 x86 CPU 上 运行 ARM NDK 代码,大概使用相同类型的操作码翻译- fly Android ARM 模拟器使用。它比使用本机 x86 二进制文件慢,但比应用程序根本不可用要好。

关于 Chrome OS 上的 ARC 应用,libhoudini(或同等技术)的状态如何?

就我个人而言,我会同时发布 ARM 和 x86,但我想知道在这个问题上一般可以给开发人员什么建议。

What is the status of libhoudini (or equivalent technology) with respect to ARC apps on Chrome OS?

在 ARC 中,这被称为 ndk_translation,并且据我所知其功能类似于 libhoudini。主要功能差异是 ARC 的翻译层主要针对 NaCl x86-64 code,它是 x86-64 指令集的沙盒子集。

Is it guaranteed to be there, barring hardcore users messing up their Chrome OS environments?

这个翻译层内置于 ARC 中,用户基本上无法禁用它(除非有一个旧的不受支持的 ARC 版本,比如原始的 ARChon 运行time,但这会导致很多由于其年龄的其他支持问题)

Is it possible to be there, but not guaranteed (more or less the current x86-on-Android status)?

不,如果您随 ARC 应用程序一起提供 ARM 二进制文件,这足以 运行 在每台 Chromebook 上运行(不考虑 ARC 翻译层中的错误或漏洞)

Is it not going to be available, so if you want your NDK-enabled Android apps to work on Chrome OS, you really really really want to ship ARM and x86 binaries with your app?

由于底层目标机器是 NaCl x86-64,目前从 NDK 工具生成的 x86 二进制文件与 ARC 不兼容。由于 ARM 在部署方面占主导地位(许多应用程序只有 ARM 二进制文件),这是 ARC 的 NDK 翻译的重点。

Is there some other option that I'm not thinking of that better reflects the current (and likely near future) state?

我认为您在运送 x86 和 ARM 二进制文件时所做的事情是一个谨慎的选择,既是为了 ARC 未来可能的改进,也是为了更好地与其他 Android 设备兼容。但目前 ARC 只会使用您的 ARM 二进制文件并在必要时转换为 x86。