標籤:依據 tools 升級 ffmpeg oca mil black 文章 san
1.先安裝相關環境,詳細在這裡http://blog.163.com/[email protected]/blog/static/98334653201612310647799/ 依據上面那個安裝之後,會直接有個eclipse+sdk。sdk那個僅僅有一個版本號碼可是臨時不用去升級。不影響。
2.依據這個官方https://github.com/Bilibili/ijkplayer 的api要求去下載個ndk r10e :http://blog.csdn.net/ultrapro/article/details/46008805 依據你ubuntu安裝是多少位來下載,我的是64位的。所下面載android-ndk-r10e-linux-x86_64.bin 3.通過命令去安裝ndk。
3.1 下載好後,直接拉進去ubuntu 裡面
3.2 開啟控制台,由於直接在根資料夾下了。所以直接使用chmod a+x android-ndk-r10e-linux-x86_64.bin然後右擊查看路徑,輸入:/home/admins/android-ndk-r10e-linux-x86_64.bin等他安裝好就能在這個檔案夾裡面看到他了 4.環境變數設定4.1 直接在根資料夾,alt+h,顯示隱藏檔案,找到.bashrc檔案。加入下面環境變數
- export ANDROID_SDK=~/Development/adt-bundle-linux-x86-20130917/sdk
- export ANDROID_NDK=~/Development/android-ndk-r9b
- export PATH=$PATH:$ANDROID_SDK:$ANDROID_NDK:$ANDROID_SDK/platform-tools/
詳細的檔案名稱依據實際來。由於sdk之前我們已經有了,所以也是須要配置的。配置完畢後長這樣:
儲存下就OK了5.之後就進入怎麼編譯第三方庫ijkplayer
5.1確保你的機器上已經安裝了git和yasm,假設沒有請在終端運行下面命令:sudo apt-get updatesudo apt-get install gitsudo apt-get install yasm
5.2確保設定檔裡ANDROID_SDK=xxx和ANDROID_NDK=xxx正確(註:聲明路徑變數的名字一定要以ANDROID_SDK和ANDROID_NDK命名,否則後邊的編譯會出問題,我的路徑都聲明在了.bashrc中)5.3 首先從Bilibili在github上的程式碼程式庫中可隆一份原始碼git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android (註:須要點時間下載5.4 cd ijkplayer-android (註:定位到此檔案夾下)5.5 切換分支
git checkout -B latest k0.4.5
5.6 運行命令
./init-android.sh
注意:這裡有可能會出現這個問題:
解決方式:
開啟/ijkplayer-android/tools下的pull-repo-ref.sh檔案:
將 “ --dissociate ” 刪掉
[cpp] view plain copyprint?
- REMOTE_REPO=$1
- LOCAL_WORKSPACE=$2
- REF_REPO=$3
- if [ -z $1 -o -z $2 -o -z $3 ]; then
- echo "invalid call pull-repo.sh ‘$1‘ ‘$2‘ ‘$3‘"
- elif [ ! -d $LOCAL_WORKSPACE ]; then
- git clone--dissociate --reference $REF_REPO $REMOTE_REPO $LOCAL_WORKSPACE#將--dissociate刪掉
- cd$LOCAL_WORKSPACE
- git repack -a
- else
- cd $LOCAL_WORKSPACE
- git fetch --all --tags
- cd -
- fi
- #! /usr/bin/env bash
然後儲存檔案。再次運行./init-android.sh 接著繼續進行......
或者升級git到最新版本號碼,當中會支援“dissociate”命令
5.7 下載好後,運行
cd android/contrib./compile-ffmpeg.sh clean./compile-ffmpeg.sh all (註:all是編譯全部cpu下支援的庫。是能夠選擇的,這裡我們還是選預設,假設你的ANDROID_SDK=xxx和ANDROID_NDK=xxx的路徑沒有問題話。就開始成功運行編譯了。這是個漫長的等待過程)
最後出現,恭喜能夠進行下一步了。
依照的提示。我們回到ijkplayer-android/android的檔案夾下,運行這個指令碼
cd ..
./compile-ijk.sh all (註:假設去掉all則僅僅會編譯出armv7a架構的so檔案,否則會是所有)
上述所有的命令所有運行成功後,如今就能夠/ijkplayer-android/android/檔案夾下的ijkplayer匯入Android Studio中了。
特此更新一下:
我在其它文章中都是到這裡就完了,在ubuntu中,依照上面編譯完畢之後就是能夠執行的了,可是無奈我的電腦太卡。或者習慣在winows下使用as的同學要怎麼辦根本沒寫,這裡我試了下。用以下這樣的方法就能夠將編譯好的項目拿到winows下使用了:
1.首先我們要直接在winows下,下載整個項目:https://github.com/Bilibili/ijkplayer
2.匯入到as裡面,這個時候你執行到播放器這裡就會掛掉,沒關係。
3.我們看下編譯好的支援庫裡面會產生什麼
這裡我們選擇當中一個arm64 ,產生了libs和obj兩個目錄
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="border:0px; height:auto">
另一個比較重要的是他會在jni產生一個新的.mk檔案,這個mk等下會用到
4.開啟as我們如今這個坑爹項目,將在ubuntu裡面編譯好的libs、obj 複製過來。還有jni下的Android.mk覆蓋掉原來那個
我選擇的是arm-64。其它的支援庫也是一樣的
5.然後再執行一次。你就能夠盡情的玩了~~哈哈
參考了下面文章:
http://www.jianshu.com/p/b447f6601501
http://blog.csdn.net/liuyuejinqiu/article/details/50728013
https://github.com/Bilibili/ijkplayer
最後:另一個將其改動為eclipse可用的教程附上:
http://blog.csdn.net/fatiao101/article/details/49586379
ubuntu 14 編譯視頻第三方庫ijkplayer,能夠在winows下使用