Android中怎么使用开源C库

Android中如何使用开源C库
本帖最后由 paltan 于 2014-03-13 16:34:18 编辑
为了能达到跨平台通信的SIP,而使用开源的C语言库libosip与libeXosip
在Android平台上,自己猜想了几种使用方式:
1、将osip与eXosip编译成.so库文件放在Android工程里,然后用C封装,再通过JNI和NDK,供Java调用
2、将开源的C工程添加进eclipse,配置Android工程的环境变量,在Android工程下用C调用libosip与libeXosip工程并进行封装,然后通过JNI和NDK,供Java调用

不知道是否行得通,还请各位大神指点迷津!

看了一个英文博客,讲到了在Android平台上使用eXosip,不是很明白
http://blog.csdn.net/rx_wen/article/details/6085411
------解决方案--------------------
我之前也弄这相关的,搞了很久

其实那个英文博客是一个正确的引用方法,你只要在库工程下添加Android.mk文件,然后在你自己的工程下写好mk文件编译,NDK会自动寻找引用的库的mk并按其进行编译,编译好后会自动拷到你的工程下。

你遇到问题在于博客提供的mk中有错误,Android工程的mk文件并没设置NDK_Module_PATH,导致NDK找不到引用的库。所以你添加下面一句就可以了
$(call import-add-path,$(LOCAL_PATH)/../../)