doubango v.2.0 Android 編譯(終極教程)

Doubango v2.0 Android(IMSDroid) 編譯

l 前言

l 官方提供的編譯方式

l 需要用到的環境

| linux file to windows

l 遇見的坑

l 總結

 

1. 前言

最近由於工作需求和項目優化需要,要改動 Doubango 中的源碼,需要進行二次編譯,本人對 C/C++ 、Linux 真的是小白啊(可苦了咱啊,不過這怎麼能難到我們開發小哥哥勒),在 Linux 下編譯 Doubango 折騰了有一會兒,不過最終還是解決了,在這裏記錄一下,爲自己和後來者提供方便吧!

2. 官方提供的編譯方式

(1) IMSDroid 在 Github 上面提供的編譯方式 https://github.com/DoubangoTelecom/imsdroid/blob/master/Building_Doubango.md

(2) Dougango 在 Github 上面的地址https://github.com/DoubangoTelecom/doubango

 

3. 需要用到的環境

本人建議最好跟 IMSDroid 中提供的編譯環境和方式來進行編譯,以下是我的環境。

(1)  虛擬機使用的是 VMware player 12 ,下載地址:http://www.vmware.com/products/player/

(2) Linux 鏡像是Ubuntu 13.04 的32 位,進入 root 或登錄密碼都是 password,下載地址:http://www.traffictool.net/vmware/ubuntu1304.html

(3) Android NDK 用的是 32 位 r10e 下載地址爲:https://blog.csdn.net/shuzfan/article/details/52690554

4. 編譯工作

(1) 啓動虛擬機將 windows 下的 doubango、Android NDK,的文件夾設置文件共享,安裝 VMwate Tool 工具就可以了,然後添加共享的文件,如有不懂參考下圖。

 

 

 

(2)將ndk和doubango拷貝到 /home目錄下,也可按照Building_Doubango文檔中的來,在虛擬機中直接check out Doubango的源碼。在圖形界面中登陸的user用戶是沒有權限讀寫 /home目錄的,使用ctrl+alt+t調出命令行終端,使用su命名切換到root用戶。

① 在linux 下命令進入 /home

cd  /home

cp /mnt/hgfs/共享文件夾名稱/ndkFileName.bin/tar.gz.bz2  copy到 home 下的名稱(最好跟 NDK 名稱一樣。

cp -rf /mnt/hgfs/共享文件夾名稱/doubango doubango


(3) 配置NDK 環境
命令輸入 sudo gedit ~/.bashrc 會彈出一個框,在末尾輸入

export   NDK=/home/user/android-ndk-r10e

export   PATH=${PATH}:$NDK  保存關閉。

命令再次輸入 source  ~/.bashrc使其修改的文件生效。

命令輸入 export 查看配置的 NDK 變量或者 命令輸入 ndk-build 如果沒有出現 目錄未找到的話,就說明配置成功了

 

最後進入 doubango 目錄

cd /home

cd ./dougango

./autogen.sh

 

如果出現這些錯誤的話說明沒有安裝一些打包製作工具

 

 

之後再進入到 /home 這個目錄下輸入

/*要先安裝m4,否則libtool安裝不了*/ wget http://mirrors.kernel.org/gnu/m4/m4-1.4.17.tar.gz tar -xzvf m4-1.4.17.tar.gz cd m4-1.4.17 ./configure --prefix=/usr/local make && make install

 

/*安裝libtool,包含libtoolize命令*/ wget http://mirrors.kernel.org/gnu/libtool/libtool-2.4.6.tar.gz tar xzvf libtool-2.4.6.tar.gz cd libtool-2.4.6 ./configure --prefix=/usr/local make && make install

 

/*安裝autoconf,包含autoheader和autoreconf命令*/ wget http://mirrors.kernel.org/gnu/autoconf/autoconf-2.69.tar.gz tar -xzvf autoconf-2.69.tar.gz cd autoconf-2.69 ./configure --prefix=/usr/local make && make install cd

 

/*安裝automake,包含aclocal和automake命令*/ wget http://mirrors.kernel.org/gnu/automake/automake-1.15.tar.gz tar xzvf automake-1.15.tar.gz cd automake-1.15 ./configure --prefix=/usr/local make && make install cd ..



如果中途有安裝不上的自行百度把工具下載下來 copy 到共享文件中,cp 到 /home 下解壓安裝,在進入到 ./doubango 目錄下運行 ./autogen.sh

然後就等它生成配置文件。然後在輸入

 

./android_build.sh gpl

 

輸完這個命令之後大概會等 10- 20 分鐘左右然後會自動把 so 庫輸入到 doubango/android-projects/out/..../lib/下 如下圖

 

 

 

 

 

 

 

 

5. linux file to windows

   命令:linux 中壓縮 so 文件以便 copy to windows

              tar jcvf doubangoLib.tar.bz2 output(tar jcvf FileName.tar.bz2 DirName)

 

  copy:  cp -rf doubangoLib.tar.bz2 /mnt/hgfs/共享文件目錄

6. 遇見的坑

編譯期間遇見過 NDK 配置環境未成功,編譯 doubango 輸出 找不到目錄,還有一些 linux 命令不熟悉等等。不過經過晚上加班還是弄出來了,所以遇見事兒別放棄。加油!

7. 總結

個人建議一定要按照官方提供的資料來進行編譯 最好是在 linux 下編譯用 10e 版本的 ndk ,我試用r9c 和 17版本的編譯 結果都不如意,最後換成跟作者一樣的版本就 OK 了。

 

8. 感謝

最後感謝 doubango 團隊提供的開源項目

提供一個 linux 解壓壓縮命令http://alex09.iteye.com/blog/647128

linux 常用的命令

 

 

 

 

            

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章