【问题标题】:Android Compiling ARM Native Application To x86 (Porting & Houdini)Android 将 ARM 原生应用程序编译到 x86(移植和 Houdini)
【发布时间】:2015-05-18 23:14:20
【问题描述】:

我正在研究如何在 x86 平台上编译 ARM 原生应用程序,我遇到了 2 个我遇到困难的主题(Houdini 二进制转换器和移植)。

这些是我的问题吗? - 二进制翻译和移植有什么区别 - 两者都是将 ARM 原生应用程序编译到 x86 的一部分吗

提前感谢您的帮助

【问题讨论】:

    标签: android android-ndk x86 arm porting


    【解决方案1】:

    二进制翻译和移植有什么区别

    通过二进制翻译,您的应用包含 ARM NDK 二进制文件,设备使用 libhoudini 将 ARM 指令翻译成 x86。这会导致 APK 文件更小,因为它只包含更少的 NDK 二进制文件。但是,生成的转换比应用程序提供 x86 NDK 二进制文件与 ARM 二进制文件时要慢。

    通过移植,您可以将 x86 NDK 二进制文件与 ARM 二进制文件一起明确传送。与libhoudini 相比,这会产生更大的 APK 文件,但会提高 x86 设备上的性能。

    无论哪种情况,您都应该在 x86 设备以及 ARM 设备上测试您的代码。另外,不要忘记我们现在也有 64 位 ARM 和 x86 CPU。

    【讨论】:

      【解决方案2】:

      首先,我将尝试解释一下 Houdini。 基本上 Houdini 是 x86 , x86_32 架构的一种包装器。它将 arm 库转换为 x86 库。

      将 arm 应用程序移植到 x86 会降低应用程序的性能,并且您的设备会像 cpu 图形性能一样表现出色

      Houdini 是包装器,如果系统应用程序中没有 x86 库,它会将 arm 转换为 x86 。

      问候, 迪帕克

      【讨论】:

        猜你喜欢
        • 2012-05-09
        • 2010-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多