在这里问个新手级别的问题。我是做Android开发的,对于C不是很熟。
但是最近要做一个Android的VPN客户端,由于没找到基于Java的VPN开源库,只找到了C语言编写的开源客户端,叫做PPTP Client,这个代码是公开的。
我想把这个开源项目的C代码打包成so文件,然后放到我的Android项目中,在JAVA代码中通过JNI调用PPTP Client,实现VPN连接。
我觉得是可行啊,但是不知道如何把PPTP的代码打包成so文件...是否需要自己写makefile什么的?
7 个解决方案
#1
.so文件一般是动态链接库的后缀.你可以看看gcc的使用手册,上面有自己生成动态链接库.so的步骤和方法.或者直接baidu和google
#2
用ldd命令可以查看.so依赖的其它.so
#3
肯定需要改代码,自己设计需要抛出的函数
#4
开源项目难道不支持打成动态库吗?
#5
就算不支持,对于linux来讲,生成so也只是多加一个编译选项,多加一个链接选项的事,其他毫无变化。
#6
在windows上开发么,搞个cygwin,里面直接有例子,makefile什么的例子都有,生成的so库直接load进java工程就好了。
#7
自己写个Android.mk 可以用eclipse自动生成,也可放在android源码中编译生成动态库
#1
.so文件一般是动态链接库的后缀.你可以看看gcc的使用手册,上面有自己生成动态链接库.so的步骤和方法.或者直接baidu和google
#2
用ldd命令可以查看.so依赖的其它.so
#3
肯定需要改代码,自己设计需要抛出的函数
#4
开源项目难道不支持打成动态库吗?
#5
就算不支持,对于linux来讲,生成so也只是多加一个编译选项,多加一个链接选项的事,其他毫无变化。
#6
在windows上开发么,搞个cygwin,里面直接有例子,makefile什么的例子都有,生成的so库直接load进java工程就好了。
#7
自己写个Android.mk 可以用eclipse自动生成,也可放在android源码中编译生成动态库