ijkPlayer 编译全格式支撑 .so库根本过程

  1. 拉取docker镜像
//指令行履行如下指令即可 
docker pull adajqd/ijkplayer-buildenv:1.0
  1. 在本机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
  1. 发动docker并挂载指定目录
# docker run -it -v 主机目录1:容器内目录1 IMAGEID
# 主机目录1 即是check工程的目录
docker run -it -v /Users/koolearn/Downloads/docker/ijkplayer-android:/opt/ijkplayer-android 776a4c5affdd
  1. 进入docker指令行(由于履行完3则指令行主动进入容器所以此处可省略)
docker exec -it 容器名 /bin/bash
  1. 创立主动化初始化脚本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
  1. 手工部分 注意如果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"
  1. 创立主动化编译脚本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把)
  1. 运行下面指令即可
cd /opt/ijkplayer-android
./init.sh
./start.sh

部分解说

  1. 在开发时总是不理解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