天天看點

vlc-android源碼的編譯

一、編譯前須知

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

vlc-android源碼的編譯
vlc-android源碼的編譯

找到上面那兩個目錄把出現automake1.14的地方該成1.15然後重新編譯

4)我的編譯還是蠻順利的,其他問題很少,如果出現其他問題,請去官網檢視troubleshooting

7、成功截圖

vlc-android源碼的編譯