关于PJSIP中pjsua或pjsua2编译通过(编译出so文件),运行时界面卡住的问题

来源:互联网 发布:淘宝网买电动五工具 编辑:程序博客网 时间:2024/06/06 02:31

最近在搞pjsip,花了几天的时间编译出了so文件。我是在虚拟机上编译的,系统:Ubuntu12.04 。编译完的pjsua或pjsua2可以在手机上运行,但是界面一直卡住,一直显示空白,似乎主线程被堵塞了,但是它却不死掉(在小米上会死掉)。记得我编译的时候已经按照官网的步骤去编译了,但是这个问题一直还在。后来再细心地重新看一遍官网的编译教程http://trac.pjsip.org/repos/wiki/Getting-Started/Android,其中需要一些基本的环境:

pjsip:v2.20以上

swig:v2.0.5以上

Android NDK:r8d以上

JDK版本应该没要求,用最新的就ok了


然后我检查了我Ubuntu 12.04的swig版本号发现是v2.0.4,问题就在这里。一般每一个版本的Ubuntu系统都会对应一个版本的swig,如:Unbuntu12.04自带的swig的版本是2.0.4,Ubuntu14.04自带的swig版本是2.0.11。比如你的Ubuntu是12.04,那么你的swig就是2.0.4,无论你怎么 更新它都是2.0.4,即使外面已经有更高版本的swig。


解决这个问题有两种方法:1.卸载原本的swig,安装一个新的。2.下载新的Ubuntu,如:14.04,自带swig版本是2.0.11 。

我尝试了第一个方法,却发现很坑爹,卸载swig成功了,也安装新的swig了。但是就是检测不到新的swig,可能与linux的注册表有关,这个不去探索了。

第二种方法比较简单,直接下载一个Ubuntu14.04,用虚拟机安装,编辑pjsip,把编译完成的pjsua或pjsua2 弄出来,导入eclipse,运行,成功,与预期一样!

0 0