Android開發實踐:編譯VLC-for-android


最近在Android做流媒體相關的開發,一直想學習一下強大的VLC,正好趁此機會研究研究VLC-for-android的代碼,看看優秀的開源音視頻播放器是如何實現的。本文總結下在Linux平台下如何編譯VLC-for-android。

 

編譯環境:Ubuntu 14.04 64bit,VLC版本2.1.5

 

參考的文章:https://wiki.videolan.org/AndroidCompile/

 

1. 准備編譯環境

 

基本上按照這篇wiki的介紹就足夠了,為了順利完成編譯,建議首先保證相關的軟件或者依賴庫都已經下載好了,我再強調一下幾個重點注意事項。

 

(1) Android SDK:必須使用SDK Platform Android 5.0, API 21,因為VLC-for-android用到了Android 5.0 的一些API。

 

(2) 最好通過apt-get install 把下面這些依賴的軟件都安裝一遍,或更新到最新版

      git,apache-ant (or ant), autoconf, automake, autopoint, cmake, gawk (or nawk), gcc, g++, libtool, m4, patch, pkg-config, ragel, subversion, unzip.

 

2. 下載源碼包

 

直接通過git下載VLC-for-android最新的源碼即可:

 

1
git clone git: //git .videolan.org /vlc-ports/android .git

 

3. 編譯VLC源碼和VLC Android工程

 

(1) 配置編譯環境變量

 

具體參考wiki的介紹,你可以寫個shell腳本來執行,避免每次編譯都要配置,下面是我的環境變量,可以根據你的路徑修改:

 

1
2
3
4
5
6
#! /bin/sh
export  ANDROID_SDK= /opt/android/sdk/
export  ANDROID_NDK= /opt/android/android-ndk-r10/
export  ANT_DIR= /opt/android/ant/
export  PATH=$PATH:$ANDROID_SDK /platform-tools :$ANDROID_SDK /tools :$ANT_DIR
export  ANDROID_ABI=armeabi-v7a

 

(2) 執行編譯

 

1
sh compile.sh

 

VLC不愧是使用這么廣泛的播放器,它的編譯腳本寫得非常強大和智能,直接通過執行compile.sh,它會自動check所有的依賴,並通過網絡去下載缺失的庫。

 

首先,它會下載vlc的源碼,並存放在當前目錄下。然后去下載依賴的第三方庫文件。

 

當然,由於GFW的存在,有的時候下載會失敗,這個時候,就需要你手動去Google搜索它正在下載的依賴文件,手動下載好了之后放到 vlc/contrib/tarballs目錄下,然后再回到命令行重新執行 sh compile.sh

 

它依賴的全部第三方庫文件如圖所示:

 

wKioL1R-8zDTtDmZAAPrtC3xkEQ853.jpg

 

(3) 編譯問題

 

編譯過程還算順利,只出現過一個大問題,如下:

 

1
2
3
google /protobuf/unittest .proto:853:21: Missing field number.
google /protobuf/unittest .proto:862:1: Reached end of input  in  message definition (missing  '}' ).
make [3]: *** [unittest_proto_middleman] Error 1

 

網上也搜不到解決方案,我看了下GitHub上Protobuf的Readme,然后下載了最新的protobuf放到vlc/contrib/tarballs/contrib-android-arm-linux-androideabi/protobuf目錄下,執行./configure --disable-shared,再編譯,沒想到就直接過了。

 

4.  加載VLC-For-Android的Java工程

 

編譯通過后,就可以直接在vlc-android/bin目錄下看到debug版的apk了,下面簡單說說在Eclipse中加載vlc-android的整個工程。

wKiom1R-8i7gNVkQAAB0RDllS6Y772.jpg

打開Eclipse,選擇Import,把vlc-for-android目錄下所有的工程到導入到Eclipse中(我去掉了TV工程),如圖所示,有5個必須的工程,其中,VLC是主工程,其他四個都是Lib工程。沒有什么意外的話,直接運行VLC工程,就可以在Android手機上看到VLC播放器應用了!

 

5. 總結

 

Vlc-for-android的編譯過程就簡單地介紹到這兒了,有任何疑問歡迎留言討論或者來信lujun.hust@gmail.com交流。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM