Docker实践:搭建ijkplayer编译环境

使用docker基于Debian 官方镜像搭建ijkplayer编译环境,轻松执行各种编译指令,得到我们想要的各种库。

文末会给出 docker hub 上的镜像地址,可直接下载,省了以下麻烦的操作。

运行 Debian 镜像

可以使用 docker run 直接运行 Debian 镜像。

$ docker run -it debian bash

会先下载镜像,所以有点慢。

更新 apt 仓库信息

# apt-get update

Docker 镜像在制作时为了精简清除了 apt 仓库信息,因此需要先执行 apt-get update命令来更新仓库信息。更新信息后即可成功通过 apt-get 命令来安装软件。

安装 git

# apt-get install git

安装 make

# apt-get install make

安装 wget

# apt-get install wget

安装 yasm

# apt-get install yasm

安装 jdk

# apt-get install default-jdk

安装 android SDK

1
2
3
4
5
# mkdir -p /opt/android/sdk
# cd /opt/android/sdk
# wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
// 解压缩
# unzip sdk-tools-linux-3859397.zip

然后

1
2
3
# cd /opt/android/sdk/tools/bin
// 安装platform tools 和 sdk tools
# ./sdkmanager "platforms;android-26"

相关sdkmanager命令可以查看官方文档
https://developer.android.com/studio/command-line/sdkmanager

安装 android ndk

1
2
3
4
5
6
// 新建ndk目录
# mkdir -p /opt/android/ndk
# cd /opt/android/ndk
# wget https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip
// 解压缩
# unzip android-ndk-r17-linux-x86_64.zip

添加环境变量

1
2
3
4
5
// add these lines to your  ~/.profile
export ANDROID_SDK=/opt/android/sdk
export PATH=$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools:$PATH
export ANDROID_NDK=/opt/android/ndk/android-ndk-r10e
export PATH=${PATH}:$ANDROID_NDK:$PATH

应用环境变量
source ~/.profile

安装 file

解决输入ndk-build -v查看NDK版本时出现的 ndk-build:file:not found 错误

# apt-get install file

输入 ndk-build -v 查看NDK版本,验证NDK是否安装成功

下载 ijkplayer

执行以下命令进行ijkplayer源码下载和编译

1
2
3
4
5
6
7
8
9
10
11
12
13
cd /opt
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.8.8

./init-android.sh

cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all

cd ..
./compile-ijk.sh all

docker hub repository

直接运行以下指令

docker pull adajqd/ijkplayer-buildenv:1.0

会直接下载好镜像,之后运行镜像,再按照 下载 ijkplayer 进行ijkplayer源码下载编译即可。

坚持原创技术分享,您的支持将鼓励我继续创作!