<分区>
似乎要在 Android 上使用 native C 库,您需要将其编译为 .so
和 .a
库文件。你如何在 Windows 上做到这一点?似乎只能编译.lib
和.dll
文件。这是否意味着您不能在 Windows 上使用 NDK 进行 Android 开发?
<分区>
似乎要在 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 安全性