如何开发/移植本机C库到android?

fru*_*ick 10 android android-ndk

所以,我有一个小C库.我想让这个库可用于在android中开发本机C代码的其他开发人员(其他库,本机应用程序等).

什么是最好的方式?我还没有太多线索,试图弄清楚这一切.

我已经读过NDK有两条路径:使用Android.mk并使用create-standalone-toolchain - 这是正确的吗?这些中的每一个如何运作?有没有NDK的第三种方式,现在应该使用NDK可用吗?

**这可能之前已被问过,但据我所知,自NDK发布以来,情况发生了变化,因为我发现很多帖子似乎已经过时了.

Tan*_*cho 11

这个问题可以有一个巨大的答案,我会尽量做到尽可能简短.

  1. 使用Android NDK,创建一个新的android项目,创建一个JNI文件夹,并创建一个Android.mk文件,在其中创建两个库,一个是你的lib,导出为共享库,另一个是jniwrapper,它将测试它.是一个如何由一个人为他自己的lib完成的例子.

  2. 您可以通过使用独立工具链进行编译来创建共享库,这里有一篇关于该主题的文章,并且还看一下关于androidcurl自述文件,它解释了如何使用独立工具链为Android编译curl,我相信它更好这样做的方式,也更容易为你,因为你将在常规的fasion中使用交叉编译器...