環境介紹
在開始之前先介紹我編譯所需要的一些環境版本
Ubuntu 18.04.1
Android SDK:
Android NDK:android ndk-r8b
android studio:android-studio-ide-181.5014246-linux
jdk:1.8.0_191
…
VLC介紹
VLC是一個免費開源的跨平臺多媒體播放器和框架,可以播放衆多的多媒體文件,DVD、CD、VCD和各種流協議。VLC使用C語言開發,可跨平臺編譯爲其他系統所用;VLC-Android是將VLC編譯爲Android可調用類庫(*.so)的工程。官網建議在Linux下進行編譯,由於依賴的工具包很多,並且VLC編譯腳本對工具包版本、代碼版本都有嚴格的hash校驗,再加上官方說明並不是很照顧新手,所以出現了很多配置問題。
VLC官網:http://www.videolan.org
VLC源碼:http://www.videolan.org/vlc/download-sources.html
VLC依賴:ftp://ftp.videolan.org/pub/contrib/ 或 http://download.videolan.org/pub/contrib/
VLC框架介紹:http://www.codeweblog.com/the-architecture-of-vlc-media-framework/
VLC-Android編譯官方文檔:https://wiki.videolan.org/AndroidCompile/
開始編譯
1.安裝Java JDK
在ubuntu可以直接使用apt-get安裝openjdk,環境變量已配好,也可以自己配置oracle 官方版本
可以參考ubuntu安裝jdk
但是最後在執行編譯vlc-android時候 提示少了tools.jar,可以直接copy一個到對應目錄即可解決
2.安裝工具包
我們需要安裝編譯所依賴的環境
sudo apt-get install automake ant autopoint cmake build-essential libtool patch pkg-config protobuf-compiler ragel subversion unzip git
3.安裝Android SDK
在這裏遇到了一個坑,導致後來編譯一直過不去,實在沒辦法就安裝了android studio ,用自帶的SDK就可以了。
一開始安裝的是官方所給出的SDK 但是編譯提示沒有target
後來就下載了android studio 然後更新了android sdk 並且配置了SDK的環境變量就不會有上面的錯誤提示了
4.安裝Android NDK
下載android-ndk-r18b,這個文件找了好久 ,這裏給出下載地址
android-ndk-r18b-linux-x86_64.zip
export ANDROID_SDK=/home/ubuntu/Android/Sdk
export ANDROID_NDK=/home/ubuntu/Documents/tools/android-ndk-r18b
export PATH=$PATH:$ANDROID_SDK:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
export PATH=$PATH:$ANDROID_NDK
5.開始編譯
下載vlc-android代碼
git clone https://code.videolan.org/videolan/vlc-android.git
然後cd vlc-android 執行sh compile.sh 就開始編譯,默認編譯的是armeabi-v7a
編譯過程遇到了幾個問題
問題1.就是下載到vlc-android/vlc/contrib/tarballs所依賴的tar.gz 總是不成功 有些可能是網絡問題導致 就需要重複執行編譯
問題2.提示找不到target
安裝了android studio來更新下載SDK 解決
問題3.編譯時候找不到jdk 中的tools.jar
複製了一個已經有的jar 就ok了
最後 完美編譯並運行
運行如圖所示
一點感想
編譯大概花了2天時間,也是查了一些其他文章,這個過程還是值得去嘗試一下,因爲編譯過程會遇到各種奇怪問題,然後試着針對問題去解決,最終就會成功。
頁面左側二維碼是我的公衆號 歡迎大家關注,留言,謝謝!