如何将一个本地的C库移植到安卓系统?

10

那么,我有一个小型的C库。我希望让其他在安卓平台开发原生C代码的开发人员(其他库、原生应用等)可以使用这个库。

最佳方法是什么?我还不太了解,正在尝试弄清楚所有这些。

我读到了有两种方式可以使用NDK:使用Android.mk和使用create-standalone-toolchain。这是正确的吗?每一种方法如何工作?如果现在有NDK可用,是否应该使用第三种方法而不使用NDK?

**也许之前已经有人问过类似的问题,但我知道自从NDK发布以来情况已经发生了变化,因此我发现的很多帖子都已经过时。


1
为了澄清问题,第三句话可能应该这样写:“我读到有两种方法可以使用NDK:使用Android.mk和使用create-standalone-toolchain--这正确吗?” - CommonsWare
Mono怎么样:http://xamarin.com/monoforandroid? - Luke Taylor
1个回答

11

这个问题的回答可能会很长,我会尽量简洁。

  1. 使用Android NDK创建一个新的Android项目,并创建JNI文件夹和Android.mk文件,在其中创建两个库,一个作为你的库,导出为共享库,另一个是用于测试的jniwrapper。 这里是一个关于如何制作自己的库的示例。

  2. 你可以通过使用独立工具链来编译共享库,这里有一篇关于此主题的文章,也可以查看curl Readme for android,它解释了如何使用独立工具链为Android编译curl,我认为这是更好的方法,对你来说也更容易,因为你将以常规方式使用交叉编译器...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接