首页 > 解决方案 > Android NDK x86 和 x86_64 ABI

问题描述

我最近在 Android Studio 中创建了一个简单的“Hello World”Android NDK 项目,并尝试使用 gradle/cmake/clang 构建系统。

我创建了一个包含 main 方法的 main.c 文件:

#include <stdio.h>

int main()
{
    printf("Hello, world");
    return 0;
}

我的 cmakelist.txt 文件将使用 Android NDK 工具链编译此文件以生成我命名为 ndk_example_c 的可执行文件:

add_executable( # Sets the name of the library.
        ndk_example_c

        # Provides a relative path to your source file(s).
        main.c
        )

gradle/cmake 为 4 个默认 ABI 生成 4 个二进制文件:

我设法使用 adb shell 在 Android 设备上运行 arm abi 可执行文件。但是,我希望能够在 Windows 或 Linux 上运行 x86 和 x86_64 可执行文件,但二进制文件似乎不是标准的可执行文件。

所以,我的问题是:gradle 生成的 x86 和 x86_64 二进制文件的目标平台/操作系统是什么?有没有人设法运行它们?

谢谢,

标签: androidgradlecmakeandroid-ndk

解决方案


x86 或 …64 最有用的目标平台是 Android 模拟器,您无需离开 Android Studio 即可通过 AVD 运行它。还有其他模拟器可以提供更好的性能或附加功能。

这些 Android APK 的另一个平台是 ChromeBook。有一个独立的努力将 Android 带到任何 PC 上。请注意,您可能需要对应用进行一些调整才能在大屏幕上看起来不错。

最后,还有一些具有 Atom CPU 的 Android 设备。如今,像华硕 ZenFone 2 这样的手机并不常见,但您可以找到一些使用 x86 的机顶盒。


推荐阅读