Android 關於編譯ijkplayer下的so經驗分享
- 前言:公司最近需要做直播方面的技術調研,所以需要去研究播放器相關的技術;剛好本人github上收藏了ijkplayer,之前一直沒有研究過,現在剛好clone下來研究研究。
我先在Windows安裝cygwin編譯,各種報錯,各種坑,果斷放棄。然後使用VMware安裝的Ubuntu 16.04,一次性完成。哈哈
那麽進入正題!
編譯環境
Ubuntu 16.04
NDKr11b
Android SDK 24
Lantern(FQ工具,建議安裝,下載地址: https://github.com/getlantern/lantern)
編譯前準備
1.安裝Git 命令:$ sudo apt-get install git
2.安裝yasm 命令:$ sudo apt-get install yasm
3.配置環境變量
命令:$sudo gedit ~./bashrc
添加以下兩個環境變量
export ANDROID_SDK= sdk path
export ANDROID_NDK= ndk path
開始編譯
1.下載項目到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.5.1
2.執行初始化操作
./init-android.sh
3.編譯ffmpeg
cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all
4.開始編譯so
cd ..
./compile-ijk.sh all
完成
如果正確編譯的話,會分別在ijkplayer-arm64、ijkplayer-armv5、ijkplayer-armv7a、ijkplayer-x86、ijkplayer-x86_64這些項目的src/main/libs/對應的名稱 目錄下分別生成libijkffmpeg.so、libijkplayer.so、libijksdl.so這三個so文件
編譯成功後將目錄下android/ijkplayer項目導入Android Studio即可運行
友情提示
可能出現的問題大部分都是因為環境變量導致,建議仔細檢查環境變量
註意:Windows環境下編譯會出現很多問題,強烈建議使用Linux環境進行編譯
Android 關於編譯ijkplayer下的so經驗分享