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