首先需要对pjsip有一个简单的认识,PJSIP是一个开放源代码的SIP协议栈。它支持多种SIP的扩展功能,目前可说算是最流行的sip协议栈之一了。
需要下载的软件:
pjsip:http://www.pjsip.org/ (在这里有window和linux下面的两个版本,两个都下载)
msys2:http://www.msys2.org/ (这个是用来在window下面执行gcc和Linux下面的命令)
swig:http://swig.org/ (这个是用来把c的代码包装成java的接口,在Android里面调用)
ndk:https://developer.android.google.cn/ndk/downloads/ (ndk的版本需要下载r13b这个版本,如果你下载的其他高版本的ndk,使用的是clang的编译器会导致各种问题无法编译,r18之后官网说会移除gcc编译器)
android sdk:https://developer.android.google.cn/studio/preview/ (这个是不用翻墙的网站可以下载android studio 里面自带的sdk)
android studio:https://developer.android.google.cn/studio/preview/
java sdk:http://www.oracle.com/technetwork/java/javase/downloads/index.html (直接下载)
配置:
JAVA_HOME配置java的安装路径,android sdk感觉在android studio里面配置一下就行了,pjsip直接解压就好了,ndk也是直接解压。
msys2的配置根据官网上的信息就是升级一下本地的数据库然后就是安装gcc,
msys2有三个不同的执行环境:mingw64,mingw32,msys2,根据你的电脑选择安装gcc,我是全都装了一遍,之后安装make,swig。使用命令pacman -S安装这些软件。
编译pjsip:
接下来就是需要编译pjsip,打开mingw64.exe,在pjsip工程里面G:\pjproject-2.7.2\pjlib\include\pj新建一个config_site.h如果你只是编译这个平台下,就可以里面全是空的,如果是android下面的就添加以下内容:
#define PJ_CONFIG_ANDROID 1
#include <pj/config_site_sample.h>
添加完后就可以开始编译程序了,截图如下:
APP_PLATFORM=android-19 ./configure-android
我这边设置了android平台的等级,一般在sdk里面需要有这个目标平台的sdk。
平台不要选错了,如果没有指定平台默认就是最大的那个。
像这样就是配置完了,开始编译
make dep && make clean && make
差不多这样就可以了,编译成功了,可以到目录里面看看是不是有so文件。
接下来就是编译android的工程。
在这个目录里面执行make
之后so文件就会放在那个Android的工程里面了。
打开android sudio打开里面java的目录里面有个android的工程,build apk
然后就可以在手机上安装:
然后就可以连接试试看效果了。