我正在研究如何在x86平台上编译ARM本地应用程序,我遇到了两个主题(Houdini二进制翻译和移植),我遇到了一些困难。
这些是我的问题?二进制翻译和移植有什么区别?这两者都是将ARM本机应用程序编译成x86的一部分吗?
谢谢你提前提供帮助
发布于 2015-03-16 09:57:23
二进制翻译和移植有什么区别?
使用二进制翻译,您的应用程序包含ARM NDK二进制文件,该设备使用libhoudini
将ARM指令转换为libhoudini
。这会导致一个较小的APK文件,因为它只包含较少的NDK二进制文件。然而,如果应用程序附带了x86 NDK二进制文件并与ARM二进制文件一起运行,则转换速度要慢一些。
通过移植,您可以显式地将x86 NDK二进制文件与ARM二进制文件一起发布。这会导致更大的APK文件,但与libhoudini
相比,它在libhoudini
设备上的性能更快。
在这两种情况下,您都应该在x86设备以及ARM设备上测试代码。此外,不要忘记,我们现在有64位ARM和x86 CPU以及.
发布于 2016-04-10 08:33:34
首先,我想解释一下胡迪尼的事。从根本上说,胡迪尼是x86,x86_32架构的友好包装者。它将arm库转换为x86库。
将arm应用程序移植到x86上,您的应用程序的性能会更好,您的设备的性能将与cpu图形性能类似。
Houdini是包装器,它将arm转换为x86,如果x86库在系统应用中不存在的话。
你好,Deepak
https://stackoverflow.com/questions/29083618
复制