在Mac下编译ijkplayer os文件
第一步:
1.安装homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.如果没有安装git,安装 git。否则跳过
brew install git
3.安装 yasm 。
brew install yasm
第二步,安装好git和yasm后就要下载NDK来配置环境
1 ndk下载链接:https://developer.android.google.cn/ndk/downloads/index.html
2 配置ndk路径:
打开Terminal输入:
open -e .bash_profile
打开bash_profile文件
在文件里面添加:
export PATH=$PATH:你的ndk路径
ANDROID_NDK=你的ndk路径
export ANDROID_NDK
然后 command+s 保存 ,Terminal输入source .bash_profie 更新下(一定不要忘了,我就是忘了这步导致编译失败,第二个坑)
最后检测是否配置ndk路径成功,在Terminal输入:ndk-build
第三步,将ijkplayer框架源码clone到本地并编译,依次在终端输入如下命令:
1.clone 代码:
git clone https://github.com/bilibili/ijkplayer.git ijkplayerMacyasm
2.
cd ijkplayerMacyasm
3.切换到最新版本:k0.8.8
git checkout -B latest k0.8.8
4. 编译之前
编译前选择你的配置
选择自动化编译时的一些配置选项,比如支持的协议,音视频类型等,官方给我们提供了三个模板。
可以打开config/目录下config/module.sh看看,enable启用,disable禁用
module-default.sh
module-lite-hevc.sh
module-lite.sh
5.开始编译
执行初始化
初始化会下载各种包,尽量选择在良好的网络环境下
./init-android.sh
初始化OpenSSL
./init-android-openssl.sh
编译OpenSSL和FFmpeg
首先清除相关信息
cd android/contrib
./compile-openssl.sh clean
./compile-ffmpeg.sh clean
编译OpenSSL 和 FFmpeg
./compile-openssl.sh all
./compile-ffmpeg.sh all
最后编译ijkplayer
生成so 切换到android目录下(cd ..),执行如下命令 生成so文件
cd ..
./compile-ijk.sh all
正确编译的话,会分别在ijkplayer-arm64、ijkplayer-armv5、ijkplayer-armv7a、ijkplayer-x86、ijkplayer-x86_64这些项目的src/main/libs/对应的名称 目录下分别生成libijkffmpeg.so、libijkplayer.so、libijksdl.so这三个so文件
结束。。。。。
补充:
ndk版本问题:
build on Darwin x86_64
ANDROID_NDK=/xx/Library/Android/sdk/ndk-bundle
IJK_NDK_REL=14.0.3529234-beta1
You need the NDKr10e or later
去下载对应版本: https://developer.android.google.cn/ndk/downloads/revision_history
最后Mac 解压.bin文件
步骤就两步很简单,
1,设置权限:
chmod a+x android-ndk-r10e-darwin-x86_64.bin
2,运行解压:
./android-ndk-r10e-darwin-x86_64.bin