Android下移植libnetfilter_conntrack库【android-17/anroid4.2.2】

来源:互联网 发布:怎么关闭网络防火墙 编辑:程序博客网 时间:2024/06/05 07:28

Android下移植libnetfilter_conntrack库【android-17/anroid4.2.2】

背景 :

anroid提供的libc非gnu标准c库,且不同的版本的libc头文件和kernel头文件是不相同的。libnetfilter_conntrack是防火墙的第三方库,支持内核中获取conntracklist。

问题:

1.   直接编译libnetfilter_conntrack,系统提示如下错误:


解决方法:拷贝anroid-21版本的icmpv6.hanroid-17的对应路径下。

2.   编译显示对应的宏变量__sum16不存在,系统提示如下错误:


解决方法:在icmpv6.h的头部添加宏定义typedef __u16__bitwise __sum16;

3    函数定义不存在,系统提示如下错误undefinedreference to '__fswab64'

解决方法:进行对应函数的静态联编,从高版本内核中拷贝对应函数的实现。(需要删除前期已经生产的objlibs文件夹,因为对应的编译文件冲突)

4      执行ndk-build 编译成功。

原创粉丝点击