CSipsimple最新版本编译
来源:互联网 发布:basic编程语言 编辑:程序博客网 时间:2024/04/30 16:02
原链:http://blog.csdn.net/jwzhangjie/article/details/12996325
CSipsimple是依赖pjsip协议,官网http://code.google.com/p/csipsimple/,官网上也有已经编译好的apk,对于编译CSipsimple有两种方式,一种就是要编译jni,另一种编译jni,直接使用已经编译好的这两种我都会说一下,首先说比较简单的一种,这个在官网上 也有介绍http://code.google.com/p/csipsimple/wiki/HowToBuild 介绍如何编译CSipsimple。
第一种方法,不编译jni
1.首先也是下载源码,由于CSipsimple依赖ActionBarSherlock,所以你导入到eclipse的时候也要把ActionBarSherlock导入进去。
- svn checkout http://csipsimple.googlecode.com/svn/trunk/ CSipSimple-trunk
ActionBarSherlock CSipSimpleBranded CSipSimpleCodecPack
CSipSimple CSipSimpleCodecG729 CSipSimpleVideoPlugin
2.下载org.tar.gz,由于你没有编译jni部分,所以CSipsimple源码里面的src下面的org.pjsip里面是空的,所以我们要下载部分内容,下载后解压对应目录拷贝进去
3.到官网http://nightlies.csipsimple.com/stable/1.01.00/(这个是最新的版本)下载CSipSimple-1.01.00-trunk.apk 然后把后缀的apk换成rar,解压把里面的lib内容拷贝到你的项目libs下面
4.clean一下项目,源码就不会报错了,可以正常运行。
第二种方法,编译jni
这个方法比较麻烦,主要是要下载各种依赖的库的源码,方法如下:
1。首先下载源码
- svn checkout http://csipsimple.googlecode.com/svn/trunk/ CSipSimple-trunk
首先下载依赖源码,总共6个分别是silk opus zrtp4pj openssl libvpx fdk_aac,所以要保持网络的畅通,而且时间也比较长
然后就是打补丁,对于这个我一开始使用的ndk的版本是r9,在这步一直出错,所以我就换成了r8d
其次我们make的选项也有几个,分别如下:
- CodecPackLibs :
- @(ndk-build -j6 APP_MODULES="pj_g7221_codec pj_codec2_codec pj_g726_codec pj_opus_codec pj_aac_codec")
- @(./dispatch_shared_libs.sh)
- CodecG729 :
- @(ndk-build -j6 APP_MODULES="pj_g729_codec")
- @(./dispatch_shared_libs.sh)
- VideoLibs : ffmpeg-lib
- @(ndk-build -j6 APP_MODULES="pj_video_android pj_vpx")
- @(./dispatch_shared_libs.sh)
- ScreenSharingLibs :
- @(ndk-build -j6 APP_MODULES="pj_screen_capture_android")
- @(./dispatch_shared_libs.sh)
3.首先检查一下你的系统中是否安装如下工具:
- git quilt unzip wget swig2.0 python make yasm
4.配置你的SDK,NDK环境变量,然后加到/ect/bash.bashrc下面,这部份自己到网上搜索一下。
5.make带着把,挺长的时间,这里声明一下我的环境:ubuntu12.04 ndk为r8d 32为系统,
http://dl.google.com/android/ndk/android-ndk-r8d-linux-x86.tar.bz2
最后出现:
- # Dispatch to external projects
- Moving libpj_g7221_codec.so to CSipSimpleCodecPack project ... [--] - plugin not built
- Moving libpj_codec2_codec.so to CSipSimpleCodecPack project ... [--] - plugin not built
- Moving libpj_opus_codec.so to CSipSimpleCodecPack project ... [--] - plugin not built
- Moving libpj_g726_codec.so to CSipSimpleCodecPack project ... [--] - plugin not built
- Moving libpj_aac_codec.so to CSipSimpleCodecPack project ... [--] - plugin not built
- Moving libpj_g729_codec.so to CSipSimpleCodecG729 project ... [--] - plugin not built
- Moving libcrypto.so to CSipSimpleCrypto project ... [OK]
- Moving libssl.so to CSipSimpleCrypto project ... [OK]
- Moving libpj_video_android.so to CSipSimpleVideoPlugin project ... [--] - plugin not built
- Moving libpj_screen_capture_android.so to CSipSimpleVideoPlugin project ... [--] - plugin not built
- Moving libpj_vpx.so to CSipSimpleVideoPlugin project ... [--] - plugin not built
- # Build native library SUCCESSFUL
6.在上面的基础上我添加视频支持,所以在终端上 make VideoLibs来添加视频的支持,视频的支持需要ffmpeg第三方库,所以这是会编译ffmpeg添加h264的支持。
期间可能出错例如:
- make[1]: Leaving directory `/CSipSimple-trunk_new/CSipSimple/jni/ffmpeg'
- make: *** [ffmpeg-lib] Error 2
- make[1]: Leaving directory `/CSipSimple-trunk_new/CSipSimple'
- Moving libpj_g7221_codec.so to CSipSimpleCodecPack project ... [--] - plugin not built
- Moving libpj_codec2_codec.so to CSipSimpleCodecPack project ... [--] - plugin not built
- Moving libpj_opus_codec.so to CSipSimpleCodecPack project ... [--] - plugin not built
- Moving libpj_g726_codec.so to CSipSimpleCodecPack project ... [--] - plugin not built
- Moving libpj_aac_codec.so to CSipSimpleCodecPack project ... [--] - plugin not built
- Moving libpj_g729_codec.so to CSipSimpleCodecG729 project ... [--] - plugin not built
- Moving libcrypto.so to CSipSimpleCrypto project ... [OK]
- Moving libssl.so to CSipSimpleCrypto project ... [OK]
- Moving libpj_video_android.so to CSipSimpleVideoPlugin project ... [OK]
- Moving libpj_screen_capture_android.so to CSipSimpleVideoPlugin project ... [--] - plugin not built
- Moving libpj_vpx.so to CSipSimpleVideoPlugin project ... [OK]
7.把项目导入到eclipse里面,运行一下结果如下:
自己也可以下载miniSIPServer来自己搭建一个服务器,我的测试效果如下:
- CSipsimple最新版本编译
- CSipsimple最新版本编译
- CSipsimple最新版本编译
- CSipsimple最新版本编译
- CSipSimple最新版本
- csipsimple最新版本免编译在eclipse上成功运行
- CSipSimple最新版本(二)--添加视频功能
- CSipSimple最新版本(二)--添加视频功能
- windows下CSipSimple编译【带最新源码】
- csipsimple编译本地库ndk版本问题
- CSipsimple编译
- 最新vim编译版本
- 编译最新版本gutenprint
- Ubuntu12-编译csipsimple-
- 编译CSipSimple问题总结
- FreeSwitch:三、编译CSipSimple
- WebRtc最新编译,最新版本2017
- WebRtc最新编译,最新版本2017
- ITK学习笔记-2:图像采样
- Android开发规范
- access
- SQL Server的文件监控
- 程序员技术练级攻略
- CSipsimple最新版本编译
- 在myeclipse中生成自己的template提示
- alphasort
- Linux解决问题篇之ftp:connect:没有主机路由
- JDK中的URLConnection参数详解
- chdir
- C#执行js
- 外部中断控制
- posix_fadvise清除缓存的误解和改进措施