看来,为了在Android上使用本机C库,您需要将其编译为.so
和.a
库文件。你是如何在Windows上做到的?似乎只能编译.lib
和.dll
文件。这是否意味着您不能在Windows上使用NDK进行Android开发?
这是否意味着您不能在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).
中提供和配置
在这里查看Android NDK的开发者指南https://developer.android.com/ndk/guides/