ijkPlayer播放器的全自动编译脚本及最终编译包

作者:如此风景 时间:2023-01-10 13:52:18 

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

标签:ijkPlayer,播放器,编译
0
投稿

猜你喜欢

  • Java多线程中关于join方法的使用实例解析

    2023-08-22 21:47:29
  • Android中使用CircleImageView和Cardview制作圆形头像的方法

    2022-04-19 05:41:35
  • java 使用BigDecimal进行货币金额计算的操作

    2023-12-05 23:19:34
  • Struts2通过自定义标签实现权限控制的方法

    2021-07-19 11:06:22
  • C#隐式/显示实现接口方法详解

    2022-01-02 02:06:30
  • Android下的POS打印机调用的简单实现

    2022-03-29 08:57:35
  • 关于springboot中对sqlSessionFactoryBean的自定义

    2022-12-09 06:05:09
  • Java 八种基本类型和基本类型封装类

    2023-11-26 14:15:16
  • Java中final关键字的用法总结

    2023-01-06 19:47:48
  • Redis集群与SSM整合使用方法

    2023-07-02 02:17:05
  • resty upload无需依赖的文件上传与下载

    2023-01-17 14:54:31
  • C++中左值和右值的区别详解

    2021-09-11 00:07:42
  • 两种用空格分隔的java字符串的方式

    2023-10-01 05:51:04
  • Android开发之Android.mk模板的实例详解

    2022-02-20 09:11:44
  • java为什么不建议用equals判断对象相等

    2022-07-14 17:17:39
  • SpringMVC上传文件的两种方法

    2023-11-17 14:27:20
  • C#正则实现Ubb解析类的代码

    2021-10-23 22:19:38
  • Spring@Value使用获取配置信息为null的操作

    2021-08-01 23:46:27
  • 安卓监听屏幕的横竖翻转实现方法

    2023-04-01 07:37:12
  • Spring+SpringMVC+MyBatis深入学习及搭建(三)之MyBatis全局配置文件解析

    2022-03-21 05:25:23
  • asp之家 软件编程 m.aspxhome.com