使用工具:
- Mac 10.10.5 (14F2511)
- (android-ndk-r14b)[https://developer.android.google.cn/ndk/downloads/index.html]
- android-sdk
1. 打开终端,安装homebrew, git, yasm
# 安装homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# 安装git
brew install git
# 安装yasm
brew install yasm
2. 配置NDK与SDK
# add these lines to your ~/.bash_profile or ~/.profile
export ANDROID_SDK=<your sdk path>
export ANDROID_NDK=<your ndk path>
命令行
vim ~/.bash_profile
# 或者
vim ~/.profile
配置后如下图:
注:等号两边不要填空格
3. 克隆项目
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
4. 下载并编译ffmpeg
# 进入ijkplay-android目录
cd ijkplayer-android
# 安装ffmpeg,此处等待,如果中途出现异常,可以重复执行此命令
./init-android.sh
# 进入config文件夹
cd config
# 移除默认的配置
rm module.sh
#拷贝module-default.sh为module.sh
ln -s module-default.sh module.sh
# 进入android/contrib目录
cd ..
cd android/contrib
# 清楚ffmpeg的编译文件
./compile-ffmpeg.sh clean
# 编译ffmpeg的所有架构
./compile-ffmpeg.sh all
编译完成后,在contrib/build/文件夹下生成ffmpeg的对应的架构文件夹,在每个架构对应的文件夹下的output目录下会生成一个libijkffmpeg.so文件。
5. 编译ijkplayer
cd ..
./compile-ijk.sh all
编译完成之后,在android/ijkpleyer文件夹的对应架构下,在路径("/src/main/libs/架构名/")下生成libijkplayer.so、libijkffmpeg.so、libijksdl.so三个文件。