多年前因为工作需要,有接触sip,但是没有做好记录。现在因为项目原因,又要重新使用sip。所以还是记录吧,脑容量有限,经常做过以后就忘了。
感谢国内的很多网站,因为某些原因,Android的官网在没有VPN的情况下,基本上不去,下载资源别提有多辛苦和郁闷了。
这网站很多android的工具资源都可以下载到:http://tools.android-studio.org/index.php/sdk/
PjSip官网在编译Android版本时,已经做了非常详细的说明。按照官网的指导,肯定是可以编译成功的。
官网编译指导:https://trac.pjsip.org/repos/wiki/Getting-Started/Android
一、环境资源准备
1)、Ubuntu 14.04 LTS
必须使用Ubuntu 14.04以上版本,不要使用Ubuntu12.04。因为12.04版本的SWIG版本太低,PjSip官方要求版本最低为:2.0.5。在编译完PjSip后,需要使用swig编译生成java接口文件。
2)、JDK
使用的JDK版本是:jdk-8u77-linux-x64.tar.gz
下载链接:https://pan.baidu.com/s/1bo5zmDh
3)、SDK
使用的版本是:android-sdk_r24.4.1-linux.tgz
下载链接:http://tools.android-studio.org/index.php/sdk
4)、NDK
使用版本:android-ndk-r13b-linux-x86_64.zip
下载链接:https://developer.android.google.cn/ndk/downloads/older_releases.html#ndk-13b-downloads
注意:不要使用r14b版本,r14b在编译PjSip时,会报缺少头文件的错误。
5)、openh264
使用版本:openh264-1.6.0.zip
下载链接:https://github.com/cisco/openh264/archive/v1.6.0.zip
6)、PjSip
使用版本:pjproject-2.6.tar.bz2
下载链接:http://www.pjsip.org/release/2.6/pjproject-2.6.tar.bz2
以上资源都下载好后,把相应的资源放到自己的Ubuntu工作目录中。现在可以开始搭建编译环境
二、安装JDK
1)、把jdk-8u77-linux-x64.tar.gz拷贝到Ubuntu14.04的工作目录中,解压。解压后的目录 jdk1.8.0_77 会在当前工作目录中
$tar zxvf jdk-8u77-linux-x64.tar.gz
2)、将解压好的jdk1.8.0_77文件夹用最高权限复制到 /usr/lib/jvm/jdk1.8.0_77 目录里。jvm/jdk1.8.0_77目录自己新建。
$sudo cp -r ./jdk1.8.0_77/ /usr/lib/jvm/jdk1.8.0_77/
拷贝完后,进入/usr/lib/jvm/jdk1.8.0_77目录,查看jdk文件是否都拷贝到该目录下
3)、配置环境变量,保存成env.sh,env.sh后面经常会用到,保存成文件,用时会方便点。
#!/bin/sh
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_77
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:
保存成env.sh文件后执行,当然你不嫌累,可以一条的执行:
$source env.sh
4)、将系统默认的JDK修改成自己的JDK
$sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_77/bin/java 300
$sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_77/bin/javac 300
$sudo update-alternatives --config java
$sudo update-alternatives --config javac
5)、查看JDK安装是否成功
$java -version
如果成功,显示如下信息,如果不显示下面信息,请检查前面设置安装是否正确:
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
三、安装SDK
SDK本身解压就可以使用,并不需要安装,但是需要更新,下载对应的android SDK版本。
1)、解压SDK
$tar xvf android-sdk_r24.4.1-linux.tgz
2)、更新sdk,进入到android-sdk-linux/tools目录下 (在Ubuntu中的Terminal终端操作,不要在第三方ssh终端操作,下同,不要问为什么,因为后面的操作有界面啊)
$android list sdk
3)、选择需要更新的序号,因为我用的android版本为5.1,在android版本上请安装自己的android版本选择更新,当然多更新几个sdk也是没问题的大笑
$android update sdk -t 1,2,3,9
四、安装NDK
解压NDK
$unzip android-ndk-r13b-linux-x86_64.zip