如何开发/移植本地C库到Android?

所以,我有一个小C库。 我想让这个库可供其他开发人员在Android(其他库,本地应用程序等)开发本机C代码。

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

我读过有两条path可以使用NDK:使用Android.mk并使用create-standalone-toolchain – 这是正确的吗? 这些工作是如何进行的? 有没有NDK的第三种方式,现在应该使用NDK吗?

**这可能是以前曾经问过的,但是我知道自从NDK发布以来,情况已经发生了变化,因为我发现很多post都显得过时了。

Solutions Collecting From Web of "如何开发/移植本地C库到Android?"

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

  1. 使用Android NDK,创build一个新的Android项目,创build一个JNI文件夹,并创build一个Android.mk文件,在其中创build两个库,一个是您的lib,导出为共享库,另一个是将testing的jniwrapper它。 下面是一个例子,说明一个人为了自己的利益而做了什么。

  2. 你可以通过编译独立的工具链来创build一个共享库, 这里是关于这个主题的一篇文章,还可以看看curl Readme for android ,它解释了如何使用独立的工具链来编译curl for Android,我相信它是更好的的方式来做到这一点,也更容易为你,因为你将使用交叉编译器在一个正规的时装…