使用工具:
- 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
配置后如下图:
![3110861-74f7e5171abbc42e.png](https://i-blog.csdnimg.cn/blog_migrate/3b562580c2119c0be1205dfb21548c55.webp?x-image-process=image/format,png)
图1.png
注:等号两边不要填空格
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文件。
![3110861-47602f876af0ae3b.png](https://i-blog.csdnimg.cn/blog_migrate/42e27680ab71ba490f67047c82419127.webp?x-image-process=image/format,png)
图2.png
5. 编译ijkplayer
cd ..
./compile-ijk.sh all
编译完成之后,在android/ijkpleyer文件夹的对应架构下,在路径("/src/main/libs/架构名/")下生成libijkplayer.so、libijkffmpeg.so、libijksdl.so三个文件。
![3110861-e112f03517164725.png](https://i-blog.csdnimg.cn/blog_migrate/0589ba48ad75ad19808d01502dc34927.webp?x-image-process=image/format,png)
图3.png