window下使用msys2编译pjsip android

首先需要对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

然后就可以在手机上安装:

然后就可以连接试试看效果了。

猜你喜欢

转载自my.oschina.net/u/2000932/blog/1822353