Android NDK x86 和 x86_64 ABI
Android NDK x86 and x86_64 ABI
我最近在 Android Studio 中创建了一个简单的 "Hello World" Android NDK 项目,并尝试使用 gradle / cmake / clang 构建系统。
我创建了一个包含主要方法的 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 个二进制文件:
- armeabi-v7a
- arm64-v8a
- x86
- x86_64
我设法 运行 使用 adb shell 在 Android 设备上安装了 arm abi 可执行文件。但是,我希望能够在 Windows 或 Linux 上 运行 x86 和 x86_64 可执行文件,但二进制文件似乎不是标准的可执行文件。
所以,我的问题是:gradle 生成的 x86 和 x86_64 二进制文件的目标平台/OS 是什么?有人设法 运行 他们吗?
谢谢,
x86 或…64 最有用的目标平台是 Android 模拟器,您可以通过 AVD 运行 无需离开 Android Studio。还有其他模拟器,它们可能会提供更好的性能或其他功能。
这些 Android APK 的另一个平台是 ChromeBook。有一个独立的effort可以给任何PC带来Android。请注意,您可能需要对您的应用程序进行一些调整才能在大屏幕上看起来不错。
最后,存在一些 Android 配备 Atom CPU 的设备。现在像华硕ZenFone 2这样的手机不是很常见,但是你可以找到一些使用x86的机顶盒。
我最近在 Android Studio 中创建了一个简单的 "Hello World" Android NDK 项目,并尝试使用 gradle / cmake / clang 构建系统。
我创建了一个包含主要方法的 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 个二进制文件:
- armeabi-v7a
- arm64-v8a
- x86
- x86_64
我设法 运行 使用 adb shell 在 Android 设备上安装了 arm abi 可执行文件。但是,我希望能够在 Windows 或 Linux 上 运行 x86 和 x86_64 可执行文件,但二进制文件似乎不是标准的可执行文件。
所以,我的问题是:gradle 生成的 x86 和 x86_64 二进制文件的目标平台/OS 是什么?有人设法 运行 他们吗?
谢谢,
x86 或…64 最有用的目标平台是 Android 模拟器,您可以通过 AVD 运行 无需离开 Android Studio。还有其他模拟器,它们可能会提供更好的性能或其他功能。
这些 Android APK 的另一个平台是 ChromeBook。有一个独立的effort可以给任何PC带来Android。请注意,您可能需要对您的应用程序进行一些调整才能在大屏幕上看起来不错。
最后,存在一些 Android 配备 Atom CPU 的设备。现在像华硕ZenFone 2这样的手机不是很常见,但是你可以找到一些使用x86的机顶盒。