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

枕上从妨一夜睡,灯前读尽十年诗。这篇文章主要讲述Android关于编译ijkplayer下的so经验分享相关的知识,希望能为你提供帮助。

  • 前言:公司最近需要做直播方面的技术调研,所以需要去研究播放器相关的技术;刚好本人github上收藏了ijkplayer,之前一直没有研究过,现在刚好clone下来研究研究。
我先在Windows安装cygwin编译,各种报错,各种坑,果断放弃。然后使用VMware安装的Ubuntu 16.04,一次性完成。哈哈
那么进入正题!
编译环境 
Ubuntu 16.04 
NDKr11b 
Android  SDK 24 
Lantern(FQ工具,建议安装,下载地址:  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即可运行
【Android关于编译ijkplayer下的so经验分享】友情提示 
可能出现的问题大部分都是因为环境变量导致,建议仔细检查环境变量 
注意:Windows环境下编译会出现很多问题,强烈建议使用Linux环境进行编译

    推荐阅读