lz 编译环境:
mac os 10.12.5
as 2.3.3
ndk r12b
pjsip2.6
pjsua2编译环境要求
ndk最低版本要求是r8b
swig最低版本2.0.5
pjsip 源码下载地址: http://www.pjsip.org/download.htm
1、修改文件夹权限(编译之后出现权限错误,所以这里先改下目录权限)
chmod a+x+w 路径(不同系统可自行百度)
2、创建 config_site.h文件
新建一个空白文件 pjlib/include/pj/config_site.h
文件内容
/* Activate Android specific settings in the 'config_site_sample.h' */ #define PJ_CONFIG_ANDROID 1 #include <pj/config_site_sample.h>
3、编译pjsip
$ cd /path/to/your/pjsip/dir $ export ANDROID_NDK_ROOT=/path_to_android_ndk_dir $ ./configure-android $ make dep && make clean && make
如果想要编译不同版本例如 arm64-v8a, armeabi-v7a, x86 执行
TARGET_ABI=armeabi-v7a ./configure-android --use-ndk-cflags
目标版本号可以查询这里https://developer.android.com/ndk/guides/abis.html#gc到这里就已经编译完成pjsip,这里只是在pjsip/lib下生成了静态库,
这里还需要完成生成动态库.so的过程,就需要用到swig工具了
4、swig安装
lz这里只是下载了安装包,然后点击安装的。下载地址http://www.swig.org/download.html
5、使用swig生成pjsua2 Demo
$ cd /pjsip-apps/src/swig $ make
到这里就生成了一个样例项目,这里是lz生成的项目,里面集成了opus编码格式,下次会把opus的编译步骤加上
https://github.com/jiduqingqian/pjsua2sample