如何在Ubuntu中編譯VLC-Android開源項目

環境介紹

在開始之前先介紹我編譯所需要的一些環境版本
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天時間,也是查了一些其他文章,這個過程還是值得去嘗試一下,因爲編譯過程會遇到各種奇怪問題,然後試着針對問題去解決,最終就會成功。
頁面左側二維碼是我的公衆號 歡迎大家關注,留言,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章