天天看点

Android IjkPlayer编译(Mac)

使用工具:

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
           

配置后如下图:

Android IjkPlayer编译(Mac)

图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文件。

Android IjkPlayer编译(Mac)

图2.png

5. 编译ijkplayer

cd ..
./compile-ijk.sh all
           

编译完成之后,在android/ijkpleyer文件夹的对应架构下,在路径("/src/main/libs/架构名/")下生成libijkplayer.so、libijkffmpeg.so、libijksdl.so三个文件。

Android IjkPlayer编译(Mac)

图3.png

参考文章