最近在搞sip视频通话,选的是开源工程csipsimple工程。csipsimple用的sip协议栈是pjsip,也是一个开源的协议栈。多媒体协议栈用用的是开源的pjmedia。同时为了支持更多的音视频编解码,还引入众多开源编解码工程,如ffmpeg, silk, g726, g729等等。一路将在Ubuntu10.04系统上编下来遇到的问题总结如下:
1、没有按照要求搭建好环境,这部分内容,参照官方的编译说明,连接如下:点击打开链接
2、make时,打patch时,报错误:
Hunk #1 FAILED at *这类错误是由于源码的版本不同导致的,打patch出现错误,解决办法就是保证源码版本的一致性。本人第一次通过svn同步时,编码没有错误。第二次是通过svn update更新的就出现上述错误了。最后删除历史,直接重新来过,就OK啦
3、Swig2.0 command not found。该错误是由于按照步骤1中的说明,编译和安装的Swig2.0实际上生成的文件是Swig, 因此,将csipsimple/jni/swig-glue下的Makefile文件的:
SWIG=swig2.0修改为SWIG=swig即可
4、csipsimple进行Apk编译时,依赖外部兼容库ActionBarSherlock, 编译的时候老是出现错误:
R.java was modified manually! Reverting to generated version网上盛传的两种原因:i)、layout的xml文件中命名冲突;ii)、res目录下只能包含文件夹,不能有文件或图片。但是本工程遇到的问题不属此列,编译依赖外部库中的资源的工程时,如果在Eclipse中选中自动编译的话,就会出现该错误。解决办法两种:一是每次都clean all projects;二是取消自动编译,分别手动编码库工程和应用工程。
5、由于ActionBarSherlock和csipsimple都在不断升级,注意csipsimple升级后会用到新版的ActionBarSherlock的部分自定义属性啥的。