ijkPlayer播放器的全自动编译脚本及最终编译包
如此风景 人气:0ijkPlayer 编译全格式支持 .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
加载全部内容