环境配置
- 搭建Android NDK(我使用的是android-ndk-r10)编译环境
- 搭建SWIG环境,SWIG依赖PCRE,需先下载安装PCRE
下载PCRE
解压缩软件包
执行命令安装tar -xvf pcre.tar.gz
下载SWIGsudo ./configure --prefix=/opt/pcre sudo make sudo make install
解压缩软件包
执行命令安装tar -xvf pcre.tar.gz
sudo ./configure --with-pcre-prefix=/opt/pcre sudo make sudo make install
编译准备
下载PJSIP源码
-
在pjproject/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>
-
修改configure-android文件
ANDROID_NDK_ROOT="/Users/xx/Library/android-ndk-r10e" APP_PLATFORM="android-21" TARGET_ABI="armeabi"
开始编译
-
进入pjsip目录
cd /path/to/your/pjsip/dir
-
执行configure
./configure-android
-
make
make dep && make clean && make
编译 telnet 接口的 pjsua 库
进入到pjsip-apps/src/pjsua/android目录下,执行ndk-build
$ cd /path/to/your/pjsip/dir
$ cd pjsip-apps/src/pjsua/android
$ ndk-build
编译 pjsua2 示例应用
进入$PJDIR/pjsip-apps/src/swig目录下执行make, 生成测试代码和libpjsua2.so
$ cd /path/to/your/pjsip/dir
$ cd pjsip-apps/src/swig
$ make
创建自已的 pjsua2 应用
新建Android工程;将$PJDIR/pjsip-apps/src/swig目录下的代码和so拷贝
到新建工程中;
$ cd $YOUR_PROJECT_DIR
$ cp -r $PJSIP_DIR/pjsip-apps/src/swig/java/android/src .
$ cd $YOUR_PROJECT_DIR
$ cp -r $PJSIP_DIR/pjsip-apps/src/swig/java/android/libs .