Android NDK 編譯PjSip 2.6 之 環境準備 (一)

NO IMAGE

    多年前因為工作需要,有接觸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