看来,要在Android上使用本机C库,您需要将其编译成.so
和.a
库文件。您如何在Windows上做到这一点?似乎只能编译.lib
和.dll
文件。这是否意味着您无法在Windows上使用NDK进行Android开发?
答案 0 :(得分:2)
这是否意味着您无法在Windows上使用NDK进行Android开发?
否,您可以在Windows上使用本机C代码构建Android应用。
.so和.a文件是主要由基于Linux的操作系统使用的编译库格式。 Android使用Linux内核。因此,它要求将本机库编译为.so格式以进行动态链接,并编译为.a格式以进行静态链接。
因此,您需要cross compiler
才能将库在Windows中编译为Linux兼容格式。同样,您的普通Visual Studio编译器可能只能编译为X-64
机器代码。为了使该库可在Android支持的所有CPU架构中使用(大多数Android设备具有ARM CPU),您需要将该库编译为ARM指令集机器代码。
您可以使用GNU-C编译器和CMake自行设置所有功能。但这很麻烦。
幸运的是,Android NDK为您设置了所有功能。您所需的一切都已在Android NDK (Native Development Kit).
在https://developer.android.com/ndk/guides/处查看Android NDK开发人员指南