ijkplayer编译 Android 版本的 ijkplayer ② ( 切换到 k0.8.8 分支 | 执行 init-android.sh 脚本进行初始化操作 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ijkplayer编译 Android 版本的 ijkplayer ② ( 切换到 k0.8.8 分支 | 执行 init-android.sh 脚本进行初始化操作 )相关的知识,希望对你有一定的参考价值。

文章目录


参考 https://github.com/bilibili/ijkplayer 项目的编译过程 ;





一、进入 ijkplayer-android 目录



执行

cd ijkplayer-android/

命令 , 进入 ijkplayer-android 目录 ;





二、切换到 k0.8.8 分支



执行

git checkout -B latest k0.8.8

命令 , 切换到最新分支 ;





三、执行 init-android.sh 脚本进行初始化操作



在 ijkplayer-android 目录中 , 执行

./init-android.sh

命令 , 进行初始化操作 ;


执行过程 :

root@octopus:~/ijkplayer/ijkplayer-android# ./init-android.sh
git version 2.17.1
== pull ffmpeg base ==
正克隆到 'extra/ffmpeg'...
remote: Enumerating objects: 539054, done.
remote: Total 539054 (delta 0), reused 0 (delta 0), pack-reused 539054
接收对象中: 100% (539054/539054), 203.52 MiB | 101.00 KiB/s, 完成.
处理 delta 中: 100% (418341/418341), 完成.
== pull ffmpeg fork armv5 ==
正克隆到 'android/contrib/ffmpeg-armv5'...
检查连接中: 539054, 完成.
对象计数中: 539054, 完成.
Delta compression using up to 4 threads.
压缩对象中: 100% (119455/119455), 完成.
写入对象中: 100% (539054/539054), 完成.
Total 539054 (delta 418341), reused 539054 (delta 418341)
切换到一个新分支 'ijkplayer'
/root/ijkplayer/ijkplayer-android
== pull ffmpeg fork armv7a ==
正克隆到 'android/contrib/ffmpeg-armv7a'...
检查连接中: 539054, 完成.
对象计数中: 539054, 完成.
Delta compression using up to 4 threads.
压缩对象中: 100% (119455/119455), 完成.
写入对象中: 100% (539054/539054), 完成.
Total 539054 (delta 418341), reused 539054 (delta 418341)
切换到一个新分支 'ijkplayer'
/root/ijkplayer/ijkplayer-android
== pull ffmpeg fork arm64 ==
正克隆到 'android/contrib/ffmpeg-arm64'...
检查连接中: 539054, 完成.
对象计数中: 539054, 完成.
Delta compression using up to 4 threads.
压缩对象中: 100% (119455/119455), 完成.
写入对象中: 100% (539054/539054), 完成.
Total 539054 (delta 418341), reused 539054 (delta 418341)
切换到一个新分支 'ijkplayer'
/root/ijkplayer/ijkplayer-android
== pull ffmpeg fork x86 ==
正克隆到 'android/contrib/ffmpeg-x86'...
fatal: unable to access 'https://github.com/Bilibili/FFmpeg.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.
tools/pull-repo-ref.sh: 11: cd: can't cd to android/contrib/ffmpeg-x86
对象计数中: 25071, 完成.
Delta compression using up to 4 threads.
压缩对象中: 100% (6484/6484), 完成.
写入对象中: 100% (25071/25071), 完成.
Total 25071 (delta 15968), reused 25071 (delta 15968)
./init-android.sh:37: cd: android/contrib/ffmpeg-x86: 没有那个文件或目录
root@octopus:~/ijkplayer/ijkplayer-android# 

注意 , 上面的 " pull ffmpeg fork x86 " 任务失败 , 这个必须成功 , 否则后续也会出现问题 ;

参考 【错误记录】编译 Android 版本的 ijkplayer 报错 ( ./init-android.sh: 第 37 行: cd: android/contrib/: 没有那个文件或目录 ) 博客 ;


执行了十几次 , 终于将 pull ffmpeg fork x86_64 执行成功 , 没有一次五个全部成功的情况 ;


在失败若干次后的某一次 , pull ffmpeg fork x86_64 执行成功 ,

检查 ~/ijkplayer/ijkplayer-android/android/contrib 目录中的 ffmpeg 目录 , 看是否对应 init-android.sh 脚本中的如下五个参数 ;

pull_fork "armv5"
pull_fork "armv7a"
pull_fork "arm64"
pull_fork "x86"
pull_fork "x86_64"

以上是关于ijkplayer编译 Android 版本的 ijkplayer ② ( 切换到 k0.8.8 分支 | 执行 init-android.sh 脚本进行初始化操作 )的主要内容,如果未能解决你的问题,请参考以下文章

ijkplayer编译 Android 版本的 ijkplayer ⑤ ( 执行 init-android-libyuv.sh | 执行 init-android-soundtouch.sh )

错误记录编译 Android 版本的 ijkplayer 报错 ( You must define ANDROID_NDK before starting. | 下载指定版本 NDK )

ijkplayer编译 Android 版本的 ijkplayer ② ( 切换到 k0.8.8 分支 | 执行 init-android.sh 脚本进行初始化操作 )

ijkplayer编译 Android 版本的 ijkplayer ④ ( 安装 make yasm 软件 | 执行 compile-ffmpeg.sh all 命令编译 ffmpeg )

ijkplayer编译 Android 版本的 ijkplayer ③ ( 执行 compile-ffmpeg.sh clean 命令 | 下载并配置 android-ndk-r10e )

错误记录编译 Android 版本的 ijkplayer 报错 ( ./init-android.sh: 第 37 行: cd: android/contrib/: 没有那个文件或目录 )