日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

ijkPlayer播放器的全自動編譯腳本及最終編譯包_Android

作者:如此風景 ? 更新時間: 2023-03-02 編程語言

ijkPlayer 編譯全格式支持 .so庫基本步驟

  • 拉取docker鏡像
//命令行執行如下命令即可 
docker pull adajqd/ijkplayer-buildenv:1.0
  • 在本機docker目錄下check ijkplayer項目,有代理的最好自己掛上代理
# 2. 執行命令clone將ijkplayer clone到本地
"克隆此倉庫庫不需要自己做步驟5,6,7,此倉庫中我給做了"
git clone https://gitee.com/jsonzcz/ijkplayer.git ijkplayer-android
"克隆此倉庫庫需要自己做步驟5,6,7"
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
  • 啟動docker并掛載指定目錄
# docker run -it -v 主機目錄1:容器內目錄1 IMAGEID
# 主機目錄1 即是check工程的目錄
docker run -it -v /Users/koolearn/Downloads/docker/ijkplayer-android:/opt/ijkplayer-android 776a4c5affdd
  • 進入docker命令行(因為執行完3則命令行自動進入容器所以此處可省略)
docker exec -it 容器名 /bin/bash
  • 創建自動化初始化腳本init.sh,放到/opt/ijkplayer-android下
# 1. 進入源碼目錄
cd /opt/ijkplayer-android
# 2. 刷新系統環境變量
source ~/.profile
# 3. 指定分支
git checkout -B latest k0.8.8
# 4. 全量編譯
cd config
rm module.sh
ln -s module-default.sh module.sh
  • 手工部分 注意如果check gitee.com 倉庫中的項目則不需要做下面的修改.因為我已經修改過了
1. 找到"do-compile-ffmpeg.sh"和"do-compile-openssl.sh"文件
將 "  --toolchain=$FF_TOOLCHAIN_NAME \ 之后增加 --system=linux-x86_64  "
2. 找到"module-default.sh"文件
在文件尾最后增加 export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf"
  • 創建自動化編譯腳本start.sh,放到/opt/ijkplayer-android下
# 處理環境變量
source ~/.profile
# 切換到工程目錄
cd /opt/ijkplayer-android
#初始化
./init-android.sh
#下載OpenSSL
./init-android-openssl.sh
#切換到android/contrib目錄下,編譯腳本在這個目錄下
cd android/contrib
#編譯OpenSSL
./compile-openssl.sh clean
./compile-openssl.sh all
#或者把all替換成 armv7a arm64,只編譯這兩個架構,(好像不太好使,還是用all把)
#編譯FFmpeg
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all
#或者把all替換成 armv7a arm64,只編譯這兩個架構,(好像不太好使,還是用all把)
#返回ijkplayer/android目錄,編譯ijkplayer的so庫
cd ..
./compile-ijk.sh all
#或者把all替換成 armv7a arm64,只編譯這兩個架構,(好像不太好使,還是用all把)
  • 運行下面命令即可
cd /opt/ijkplayer-android
./init.sh
./start.sh

部分解釋

  • 在開發時總是不理解git checkout -B latest k0.8.8這個命令,最終百度到了:

git checkout -b tag-1.4.2 1.4.2

新建一個名稱為tag-1.4.2的分支,并將遠程版本的1.4.2tag check到本地

要是實在懶得編譯的可以直接用我編譯出來的so包也行

git clone https://gitee.com/jsonzcz/ijkplayer.git ijkplayer-android

就在工程文件夾ijkplayer-android->libs目錄下 ijkPlayer支持https全量包.zip,
直接copy出來即可,支持armv7a和arm64

原文鏈接:https://juejin.cn/post/7164665077051129887

欄目分類
最近更新