2012-07-24 54 views
9

所以,我有一个小小的C库。我想让这个库可用于在android(其他库,本机应用程序等)中开发本机C代码的其他开发人员。如何开发/将本机C库移植到android?

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

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

** 这可能已经问过,但我知道的事情,因为NDK的发布已经改变,因为很多帖子,我觉得似乎已经过时了。

+1

为了澄清这个问题,第三句可能应该是:“我已经读取NDK有两条路径:使用'Android.mk'并使用'create-standalone-toolchain' - 这是正确的吗?“ – CommonsWare 2012-07-24 15:45:24

+0

@CommonsWare thx! – 2012-07-24 15:48:25

+0

单声道怎么样:http://xamarin.com/monoforandroid? – 2012-07-24 16:37:16

回答

10

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

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

  2. 您可以通过使用独立的工具链编译做出共享库,here是关于这个问题的文章,并采取一看curl Readme for android,它说明了如何使用独立的工具链编译卷曲为Android,我相信这是更好的方法来做到这一点,也更容易为你,因为你将使用交叉编译器在一个普通的fasion ...