1#clone并切换到具体的Release版本

  1. git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
  2. cd ijkplayer-android
  3. git checkout -B latest k0.8.8

2#执行初始化

  1. ./init-android.sh

3#初始化 openssl 支持 https

  1. ./init-android-openssl.sh

4#配置编解码器格式支持

  1. 默认为最少支持,如果足够你使用,可以跳过这一步,否则可以改为以下配置:
  2. module-default.sh 更多的编解码器/格式,同时支持ts格式的视频,例如一些电视台的m3u8 格式
  3. module-lite-hevc.sh 较少的编解码器/格式(包括 hevc)
  4. module-lite.sh 较少的编解码器/格式(默认情况)
  5. =======================================================
  6. # 进入 config 目录
  7. cd config
  8. # 删除当前的 module.sh 文件
  9. rm module.sh
  10. # 创建软链接 module.sh 指向 module-default.sh
  11. ln -s module-lite-all.sh module.sh

5#编译 openssl

  1. # 进入 android/contrib 目录
  2. cd android/contrib
  3. # 清除 openssl 的编译文件
  4. ./compile-openssl.sh clean
  5. # 编译 openssl
  6. ./compile-openssl.sh all

./compile-openssl.sh 后跟 all 表示编译所有 CPU 架构的 so 库, 如果只编译指定 CPU 架构的 so 库,后面就跟 CPU 架构,比如:./compile-ffmpeg.sh armv7a

6#编译 ffmpeg

  1. # 清除 ffmpeg 的编译文件
  2. ./compile-ffmpeg.sh clean
  3. # 编译 ffmpeg
  4. ./compile-ffmpeg.sh all

7#编译 ijkplayer

  1. # 进入 android 目录
  2. cd ..
  3. # 编译 ijkplayer
  4. ./compile-ijk.sh all

编译完成之后,在 android/ijkpleyer 文件夹的对应架构文件下,在/src/main/libs/架构名/下生成libijkplayer.solibijkffmpeg.solibijksdl.so 三个文件。

PS:

1.针对clone慢的问题,可以用镜像访问,使用github的镜像网站进行访问,将github.com替换为github.com.cnpmjs.org
2.先要配置SDK和NDK ,~/.bash_profile 进行添加SDK和NDK路径配置的
export PATH=${PATH}:/Users/…/sdk
export ANDROID_SDK=/Users/…/sdk
export PATH=${PATH}:/Users/…/android-ndk-r11
export ANDROID_NDK=/Users/…/android-ndk-r11

参考:
https://zhuanlan.zhihu.com/p/87033642