环境配置
先放官网地址:ijkplayer
此次编译是在 ubuntu 下编译的,需要下载 VMware 虚拟机和 ubuntu 系统。
编译 ijkplayer 时是需要 SDK 和 NDK 的( linux 版本), SDK 和 NDK 环境需要在 ubuntu上 配置好。其实这些文件是可以在 windows 上下载好,然后复制到ubuntu上的,但不能直接复制,需要下载 WinSCP 和 PuTTY(它的主要功能就是在本地与远程计算机间安全的复制文件)。
开始编译
1.启动虚拟机,打开 shell 命令输入:
sudo apt-get update
sudo apt-get install git
sudo apt-get install yasm
//上面是命令是安装git和yasm
2:配置 NDK 和 SDK
配置 NDK 和 SDK,只需要命令行输入:
export ANDROID_NDK=<your ndk path>
export ANDROID_SDK=<your sdk path>
我在 ubuntu下 的 NDK 路径如下:
image
直接在 shell 中输入:
image
配置 SDK 方法和上面一样( linux 版本)。
3.开始编译:
如果要编译出来的 ijkplayer 支持 https,则需要编译 OpenSSL 。
https 就是 http 的加密版,即 http + 加密协议,加密协议一般为 SSL 或者 TSL,OpenSSL 是一套开源工具集,实现了 SSL 和 TSL 协议
//clone ijkplayer到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
//切换到源码目录
cd ijkplayer-android
//检查版本
git checkout -B latest k0.8.4
//初始化
./init-android.sh
//下载OpenSSL
./init-android-openssl.sh
//切换到android/contrib 目录下,编译脚本在这个目录下
cd android/contrib
// 编译 OpenSSL
./compile-openssl.sh clean
./compile-openssl.sh all
//编译FFmpeg
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all
//返回ijkplayer/android 目录,编译ijkplayer的so库
cd ..
./compile-ijk.sh all
编译完成
按照上面命令依次执行,最后编译完成时如下图:
image
ijkplayer 目录如下:
image
编译完成后可以在 ijkplayer-android / android / ijkplayer 中查看生成的对应 so 文件。可以直接用AndroidStudio 打开。
image
运行
用 AndroidStudio 打开该工程,编译运行
image
以上就已经是编译好的 ijkPlayer 工程。可以将 so 复制到一个自己独立的工程然后对 ijkplayer 进行对应的封装即可。