摘要:本文主要介紹vlc-android在ubuntu下編譯的過程。html
最近研究了下 vlc-android 的編譯,網上一搜資料確實很多,不過大部分都是千遍一概(也不否定有很是詳細的)。不能說這些都毫無價值,多少也能給編譯vlc帶來一些線索。java
編譯環境使用的是64位ubuntu12.04 源碼用的vlc-android最新的源碼。整個編譯過程耗時將近一天,由於網絡緣由須要下載不少東西,整個vlc源碼達到可編譯條件的時候總大小將近2個G。linux
還有下載不少其餘的編譯須要的資源。最後編譯成功,生成了so庫和相應的apk,而且裝在手機上能夠播放流媒體。android
下面就詳細總結一下這次編譯vlc-android的整個流程,以備之後所需,以及讓更多須要它的人少走些彎路。git
------------------------------------------------------------------------------------------我是黃金分割--------------------------------------------------------------------------------ubuntu
一 編譯環境搭建:bash
1.下載配置NDK環境:網絡
本次使用的ndk是 「 android-ndk-r9d-linux-x86_64.tar.bz2 」oracle
下載地址:http://developer.android.com/tools/sdk/ndk/index.html#Installing (有時會打不開)eclipse
對於NDK環境搭建能夠參考以前的文章ffmpeg2.2編譯:http://www.cnblogs.com/wainiwann/p/3785485.html
裏面包含了解碼目錄,以及NDK環境變量的配置寫的很是詳細。
2.下載配置SDK環境:
編譯的時候須要SDK環境而且須要下載的SDK目錄下須要有「platform-tools」這路目錄下的adb.exe等工具。因此下載的SDK須要注意下!
這裏下載SDK最好不要下載相似 「 android-sdk_r20-linux.tar 」 或者其餘版本由於這些版本是不包含 "platform-tools" 這個文件目錄的!!!
我這裏下載的是包含eclipse 的ADT版本爲 「 adt-bundle-linux-x86_64-20131030.zip 」 。
下載地址:http://pan.baidu.com/share/link?shareid=2608460318&uk=2099951531
而後在home目錄下新建一個「develop」的目錄 (以前ndk也是放到這個目錄裏的)。再在develop目錄下新建目錄"android-sdk-linux"目錄(建目錄這一步本身能夠隨意)。
而後把 adt-bundle-linux-x86_64-20131030.zip 解壓出來,把裏面的sdk整個目錄下的文件全拷貝到以前的develop目錄下的android-sdk-linux目錄中。
3.下載配置JDK環境:
若是單純想編譯出vlc的so庫,JDK能夠不用安裝和配置。但若是想編譯出vlc的APK那這一步是不能少的!
此處用的jdk是:「 jdk-6u45-linux-x64.bin 」
點擊Accept License Agreement 選擇須要下載jdk。
這裏說一下關於JDK的安裝:
1)把下載的 jdk-6u45-linux-x64.bin 拷貝到/home目錄下新建一個名字爲「jdk」的目錄;
2)終端root帳戶進入上面的jdk目錄給 jdk-6u45-linux-x64.bin 增長權限:
# chmod 777 ./jdk-6u45-linux-x64.bin
3)執行安裝命令:
# ./jdk-6u45-linux-x64.bin
4.配置NDK、SDK、JDK環境變量:
1)終端root帳戶命令:
# gedit ~/.bashrc
待彈出編輯頁面在頁面末尾添加以下幾行(具體目錄依本身而定):
export NDK=/home/song/develop/android-ndk-r9d
export ANDROID_SDK=/home/song/develop/android-sdk-linux
export ANDROID_NDK=/home/song/develop/android-ndk-r9d
export ANDROID_ABI=armeabi-v7a
export NO_NEON=1
export JAVA_HOME=/home/song/jdk/jdk1.6.0_45
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
2)而後保存,使其生效 終端命令行:
# source ~/.bashrc
3)檢測環境變量配置是否正確:
ndk能夠進入ndk下sample目錄裏的hello-jni進行$NDK/ndk-build 命令編譯。JDK能夠在root終端命令下(非root須要在編輯~/.bashrc)執行:java -version 若是顯示JDK相關的
版本號則爲安裝正確。
二 編譯前須要下載安裝的工具:
0.安裝編譯vlc依賴的其餘庫:
$ sudo apt-get build-dep vlc
1.下載安裝 git 工具:
# apt-get install git
2.下載安裝 ant工具:
# apt-get install ant
注:此處下載安裝ant 會一併下載安裝 openJDK,但不影響編譯。
3.下載安裝一下工具:
# apt-get install wget
# apt-get install autoconf
# apt-get install libtool
# apt-get install subversion
注:若是有的安裝不上不用在乎。
4.下載安裝須要32位編譯的東西:
若是不須要編譯生成apk能夠不作此操做。
# apt-get update
# apt-get install ia32-libs
三 編譯vlc-android :
1)在home目錄下新建一個目錄這裏取名「vlc-code」目錄。而後root用戶終端命令:
# git clone git://git.videolan.org/vlc-ports/android.git
這裏下載會很快下載以後進入到該目錄,終端命令:
# cd android
2)執行編譯操做:
# sh ./compile.sh
下面將會進入漫長的下載vlc編譯所須要的資源包。。。。
3)下載中途可能會出現數次錯誤:
因爲一些資源包可能請求下載的時候超時等都會出現編譯失敗,此時能夠查看失敗信息。通常
失敗信息上寫着那條資源包失敗,以及下載該資源的下載地址,此時能夠換一個網絡或者換一個電腦複製那條下載失敗的資源包下載地址,本身手動去下載。
下載以後手動拷貝到該目錄:/vlc-code/android/vlc/contrib/tarballs/ 目錄下。
而後從新在終端執行編譯操做:
# sh ./compile.sh
注:下載過程當中可能須要重複步驟3數次。
最後資源包下載徹底以後能夠 查看 /vlc-code/android/vlc/contrib/tarballs/ 目錄 下大概有40個以下資源包:
4)若是資源下載結束最後編譯出現
「BUILD SUCESSFUL」
就表示編譯成功了,若是沒有出現該提示,則須要重複編譯操做:
# sh ./compile.sh
注:在vlc編譯過程中始終是該命令。
若是編譯當中出現其餘錯誤,能夠查看錯誤信息,而後在網上尋找答案(若是上述環境搭建,下載安裝等等都正確的話,應該是能夠編譯成功的)。
5)編譯成功以後:
成功以後會在
/vlc-code/android/vlc-android/libs/ 目錄下看到編譯好的so庫。
會在
/vlc-code/android/vlc-android/bin/ 目錄下看到編譯好的apk文件,這裏能夠直接安裝在android手機上。
四 最後附上編譯成功的截圖:
---------------------------------------------------------------------------------------------------我是黃金分割------------------------------------------------------------------------------------------------------------------------------
完結:編譯過程中必定要有足夠的耐心和自信!!!
摘要:本文主要介紹vlc-android在ubuntu下編譯的過程。