闲来无事,重新编译了一下ijkplayer,下面记录一下编译步骤。
- 首先需要配置一下环境变量,在.zshrc文件中配置如下,因为我使用的是oh-my-zsh,所以可以在该文件中配置环境变量,当然也可以在默认的.bash_profile中配置环境变量。效果都是一样的。
export ANDROID_SDK=/Users/zhaoshanshan/Library/Android/sdk
export ANDROID_NDK=/Users/zhaoshanshan/Library/Android/ndk
export PATH=$PATH:$ANDROID_NDK
export PATH=$PATH:$ANDROID_SDK/platform-tools
export PATH=$PATH:$ANDROID_SDK/tools
- 克隆ijkplayer到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.8.4
- 初始化android
./init-android.sh
- 编译脚本配置
config/module.sh,里面有一些配置信息,比如说支持的编解码类型,以及协议什么的。enable为启用,disable为禁用,其中提供了三个版本的配置文件:
- module-default.sh:默认,如果你喜欢更多类型可以用这个;
- module-lite-hevc.sh:如果您更喜欢较小的二进制大小的编解码器/格式(包括hevc功能)
- module-lite.sh:如果您更喜欢较小的二进制大小的编解码器/格式(默认情况下)
这里我们使用module-lite.sh
rm module.sh
ln -s module-lite.sh module.sh
source module.sh
- ijkplayer默认是不支持https的,这里我们需要初始化为支持https的
cd ..
./init-android-openssl.sh
- 清除一下
cd android/contrib
./compile-openssl.sh clean
./compile-ffmpeg.sh clean
- 编译openssl
./compile-openssl.sh all
- 编译ffmpeg
//可以只编译一种cpu架构,如果写all,将会编译所有的架构
./compile-ffmpeg.sh armv7a
- 最后一步,编译ijkplayer
cd ..
./compile-ijk.sh all
网友评论