一、編譯前須知
1.參考官方文檔:https://wiki.videolan.org/AndroidCompile/
2.必須要在Linux環境下
3.我使用的是ubuntu
二、編譯前安裝開發工具
1.Linux作業系統,我選擇的是在windows下通過virtualbox虛拟機安裝ubuntu。
安裝方法:virtualbox中安裝ubuntu
2.Linux編譯需要的開發工具
1)sudo apt-get install automake ant autopoint cmake build-essential libtool
patch pkg-config protobuf-compiler ragel subversion unzip git
2)如果是64位ubuntu,為了防止後面少走彎路,需要安裝32位的庫
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install zlib1g:i386 libstdc++6:i386 libc6:i386
3)SDK安裝
SDK下載下傳注意:最好下載下傳比較新的sdk
參考我的部落格:ubuntu下安裝SDK
4)NDK安裝
NDK下載下傳注意:官方的文檔可能有點老了,官方說是NDK r10e,但是經過後面編譯發現最低要ndk r11c
下載下傳位址:https://developer.android.com/ndk/downloads/index.html
如果無法通路google,可以參照 ubuntu安裝lantern通路google,也可以通過國内伺服器鏡像 http://www.androiddevtools.cn/
解壓并修改相關權限
unzip android-ndk-r11c-linux-x86-64.zip
sudo chmod -R 777 android-ndk-r11c
配置一下環境變量
sudo gedit /etc/profile
export PATH=$PATH:/ndk的路徑/
sudo source /etc/profile
三、編譯前的環境變量配置
1) sdk ndk
export ANDROID_SDK=/你的sdk路徑/
export ANDROID_NDK=/你的ndk路徑/
export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
2) 裝置類型
注意:這個地方,官網上沒有給出說明,如果不設定,編譯的時候會提示
NO ANDROID_ABI,預設使用armeabi-v7a
ARMv7裝置,需要export ANDROID_ABI=armeabi-v7a
ARMv6裝置,需要export ANDROID_ABI=armeabi
ARMv6裝置,不支援FPU的,需要 export ANDROID_ABI=armeabi; export NO_FPU=1
還有很多,mips x86,等等
四、下載下傳源碼
git clone https://code.videolan.org/videolan/vlc-android.git
如果是想下載下傳某個分支版本請去gitLab, https://code.videolan.org/videolan/vlc-android/branches
五、執行編譯
1)確定網絡品質很好
2)確定可以通路google,有些東西需要去國外下載下傳,比如build.gradle,update sdk等等
3)進入vlc-android,執行 sh compile.sh, 如果一切順利就完成了,但是一般問題會很多
六、我遇見的問題
1)中途有很多包無法下載下傳,不知道原因
ibmpeg2-0.5.1.tar.gz、openjpeg-1.5.0.tar.gz等等,我就不一一列舉,此時注意看錯誤報告,會有出現在那個目錄下下載下傳按個包失敗,比如上面的會在./vlc/contrib/tarballs目錄下,那麼我們就去手動下載下傳,然後放到此目錄就可以了,重新執行 sh compile.sh
2) ndk版本太低,官網說是ndk-r10e,但是發現後面編譯中途報錯,說最低需要ndk-r11
3) automake 報錯,官網預設下載下傳的是automake1.14,但是最後有些依賴的東西需要automake1.15

找到上面那兩個目錄把出現automake1.14的地方該成1.15然後重新編譯
4)我的編譯還是蠻順利的,其他問題很少,如果出現其他問題,請去官網檢視troubleshooting
7、成功截圖