| 
 
  13_android编译ijkplayer
 一.编译环境macOS Big Sur 11.4NDK r10eHomeBrewgit
 二.编译前准备配置ANDROID_SDK和ANDROID_NDK环境变量
 
 brew install git
brew install make
brew install yasm
 三.使用git获取ijkplayer最新源码git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.8.8
 四.项目结构 
 |ijkplayer-android|----android //Ijkplayer Android 项?源码
 |----config //ffmpeg的配置脚本
 |----|----module.sh //ffmpeg 当前配置脚本,可?以下三个模板替换当前脚本
 |----|----module-default.sh //默认配置
 |----|----module-lite.sh //最?化配置
 |----|----module-lite-hevc.sh //基于最?化配置添加hevc功能配置
 |----doc //介绍说明
 |----extra //三?依赖库保存的?件夹
 |----|----init-extra.sh // 引?本地存在的库
 |----ijkmedia //IjkPlayer Native部分源码
 |----ijkprof
 |----ios //IjkPlayer IOS 部分源码
 |----tools //git操作项?的?具脚本
 |----|----pull-repo-base.sh
 |----|----pull-repo-ref.sh
 |----|----setup-as-commiter.sh
 |----|----sync-mirrors.sh
 |----init-android.sh //Android初始化脚本
 |----init-android-exo.sh //被compile-ijk.sh调?
 |----init-android-j4a.sh //被compile-ijk.sh调?
 |----init-android-libsoxr.sh //被compile-ijk.sh调?
 |----init-android-libyuv.sh //被init脚本调?
 |----init-android-openssl.sh //添加openssl需要在编译ffmpeg之前执?openssl的init和compile
 |----init-android-prof.sh //被compile-ijk.sh调?
 |----init-android-soundtouch.sh //被compile-ijk.sh调?
 |----init-config.sh //被init脚本调?
 |----init-ios.sh //ios初始化脚本
 |----init-ios-openssl.sh //添加openssl需要在编译ffmpeg之前执?openssl的init和compile
 |----version.sh //查看版本的脚本
 五.编译模式配置module-default.sh:全量编译,支持的较多的编解码格式,生成的.so动态库文件较大module-lite.sh:支持的较少的编解码格式,生成的.so动态库文件较小module-lite-hevc.sh:支持的较少的编解码格式,添加hevc功能配置,生成的.so动态库文件较小
 我们选择module-default.sh进行编译 cd config
rm module.sh
ln -s module-default.sh module.sh
 注意:选用module-default.sh进行编译时,需要在module-default.sh文件中添加如下配置,否则编译过程中报错 export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf"
 六.编译openssl为什么要编译openssl?因为要让我们的播放器能够播放https的视频啊😄,所以我们需要手动编译openssl,以支持https,并且需要在编译ffmpeg之前执?,回到ijkplayer-android根目录,执行初始化init-android-openssl脚本文件,初始化openssl,此处顺利与否会和你的网络有直接关系,建议使用翻墙工具😄 ./init-android-openssl.sh
 开始编译 cd android/contrib
./compile-openssl.sh clean
./compile-openssl.sh all
 
 可以看到当我们编译openssl成功后,系统已经给出明确的提示,可以开始编译ffmpeg了,ffmpeg编译完成后,就可以编译ijkplayer相关源码了 七.编译ffmpeg回到ijkplayer-android根目录,执行初始化init-android.sh脚本文件,初始化ffmpeg,此处顺利与否会和你的网络有直接关系,建议使用翻墙工具😄 ./init-android.sh
 开始编译ffmpeg ./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all
 八.编译Ijkplayercd ../
./compile-ijk.sh clean
./compile-ijk.sh all
 编译成功后会可以看到ijkplayer-android/android/ijkplayer的android项目,可以直接通过android-studio打开该项目,修改配置文件运行,也可以从中把生成的.so文件导入到自己的项目去使用 
 |