Android - 如何在 Windows 上构建 native 库并在 Android NDK 中使用它

标签 android c windows android-ndk

<分区>

似乎要在 Android 上使用 native C 库,您需要将其编译为 .so.a 库文件。你如何在 Windows 上做到这一点?似乎只能编译.lib.dll 文件。这是否意味着您不能在 Windows 上使用 NDK 进行 Android 开发?

最佳答案

这是否意味着您不能在 Windows 上使用 NDK 进行 Android 开发?

不,您可以在 Windows 上使用 native C 代码构建 Android 应用。

.so 和 .a 文件是主要由基于 Linux 的操作系统使用的编译库格式。 Android 使用 Linux 内核。因此它要求将原生库编译为 .so 格式用于动态链接和 .a 格式用于静态链接。

因此您需要一个交叉编译器 来将一个库编译成Windows 中的Linux 兼容格式。此外,您的普通 Visual Studio 编译器可能只编译为 X-64 机器代码。为了使该库可用于 Android 支持的所有 CPU 架构(大多数 Android 设备具有 ARM CPU),您需要将该库编译为 ARM 指令集机器代码。

您可以使用 GNU-C 编译器和 CMake 自行设置。但这很麻烦。

幸运的是,Android NDK 已为您设置好一切。 Android NDK(原生开发工具包)中已经提供并配置了您需要的一切。

请在此处查看 Android NDK 开发人员指南 https://developer.android.com/ndk/guides/

关于Android - 如何在 Windows 上构建 native 库并在 Android NDK 中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52357056/

相关文章:

Android 已弃用 apache 模块(HttpClient、HttpResponse 等)

c - Visual Studio 2015 C++ - 外部头文件

python - 如何在 Windows 终端下的 Python 3 中打印 "æ"、 "å"和 "ø"等字母?

windows - 将部分 DOS/Windows 批处理转换为 linux shell

windows - Jenkins 无法在 Windows 上通过 Git/SSH 克隆 Git 存储库

java - 使用 apache poi 的 PatternSyntaxException

android - 是什么导致 jobb 工具抛出 FAT Full IOException?

android - 从 Android 设备消费时的 Google API 安全性

无法在 C 上使用 openssl 从 .cer 文件获取公钥

php - “/*重载元素数据类型*/#define OE_IS_ARRAY (1<<0) #define OE_IS_OBJECT (1<<1) #define OE_IS_METHOD (1<<2)”是什么意思?