一:mac環境android編譯(ndk記得裝好,並配製好環境變量.bash_profile,我用的是ndk9)
1:下載源碼:http://www.pjsip.org/download.htm
在/pjproject-2.4.52/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>
2:下載swig:http://www.swig.org/download.html
3:編譯swig: cd到swig根目錄;./configure;make;make install(執行完這3個行指令後即完成)。
4:下載並編譯pcre:http://www.pcre.org/;編譯跟swig一樣
5:編譯pjsip源碼:http://trac.pjsip.org/repos/wiki/Getting-Started/Android(參考資料)。
cd到pjproject目錄,export ANDROID_NDK_ROOT=/path_to_android_ndk_dir
./configure-android
make dep && make clean && make
6:生成.so庫文件
cd到/pjproject-2.4.5/pjsip-apps/src/swig
make
二:mac環境下ios編譯(http://trac.pjsip.org/repos/wiki/Getting-Started/iPhone)
cd到pjproject目錄
./configure-iphone
$ make dep && make clean && make
三:android庫壓縮
參考根目錄下的user.mak.sample,文件新建一個user.mak文件,輸入以下代碼,重新編譯即可。
# You can create user.mak file in PJ root directory to specify
# additional flags to compiler and linker. For example:
export CFLAGS += -O3 -DNDEBUG
export LDFLAGS +=
四:部分軟交換服務器註冊失敗,原因是註冊流程不一樣
修改:/Users/lianwanfei/Documents/applications/android-ndk-r9/samples/pjproject-2.4.5/pjsip/include/pjsua-lib/pjsua.h中修改屬性
# define PJSUA_CONTACT_REWRITE_METHOD 1