关于编译ijkplayer下的so经验分享

  • 前言:公司最近需要做直播方面的技术调研,所以需要去研究播放器相关的技术;刚好本人github上收藏了ijkplayer,之前一直没有研究过,现在刚好clone下来研究研究。

我先在Windows安装cygwin编译,各种报错,各种坑,果断放弃。然后使用VMware安装的Ubuntu 16.04,一次性完成。哈哈

那么进入正题!

编译环境
Ubuntu 16.04
NDKr11b
Android SDK 24
Lantern(工具,建议安装,下载地址: https://github.com/getlantern/lantern)

编译前准备
1.安装git 命令:$ sudo apt-get install git

2.安装yasm 命令:$ sudo apt-get install yasm

3.配置环境变量
命令:$sudo gedit ~./bashrc
添加以下两个环境变量
export ANDROID_SDK= sdk path
export ANDROID_NDK= ndk path

开始编译
1.下载项目到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.5.1

2.执行初始化操作
./init-android.sh

3.编译ffmpeg
cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all

4.开始编译so
cd ..
./compile-ijk.sh all

完成
如果正确编译的话,会分别在ijkplayer-arm64、ijkplayer-armv5、ijkplayer-armv7a、ijkplayer-x86、ijkplayer-x86_64这些项目的src/main/libs/对应的名称 目录下分别生成libijkffmpeg.so、libijkplayer.so、libijksdl.so这三个so文件

编译成功后将目录下android/ijkplayer项目导入Android Studio即可运行

友情提示
可能出现的问题大部分都是因为环境变量导致,建议仔细检查环境变量
注意:Windows环境下编译会出现很多问题,强烈建议使用Linux环境进行编译

你可能感兴趣的:(基础知识和概念总结,工作总结,第三方框架总结)