摘要:本文主要介紹vlc-android在ubuntu下編譯的過程。
最近研究了下 vlc-android 的編譯,網上一搜資料確實不少,不過大部分都是千遍一律(也不否認有非常詳細的)。不能說這些都毫無價值,多少也能給編譯vlc帶來一些線索。
編譯環境使用的是64位ubuntu12.04 源碼用的vlc-android最新的源碼。整個編譯過程耗時將近一天,因為網絡原因需要下載很多東西,整個vlc源碼達到可編譯條件的時候總大小將近2個G。
還有下載很多其他的編譯需要的資源。最后編譯成功,生成了so庫和相應的apk,並且裝在手機上可以播放流媒體。
下面就詳細總結一下此次編譯vlc-android的整個流程,以備以后所需,以及讓更多需要它的人少走些彎路。
------------------------------------------------------------------------------------------我是黃金分割--------------------------------------------------------------------------------
一 編譯環境搭建:
1.下載配置NDK環境:
本次使用的ndk是 “ android-ndk-r9d-linux-x86_64.tar.bz2 ”
下載地址:http://developer.android.com/tools/sdk/ndk/index.html#Installing (有時會打不開)
對於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下編譯的過程。