Android 关于编译ijkplayer下的so经验分享
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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即可运行
友情提示
可能出现的问题大部分都是因为环境变量导致,建议仔细检查环境变量
注意:Windows环境下编译会出现很多问题,强烈建议使用Linux环境进行编译
以上是关于Android 关于编译ijkplayer下的so经验分享的主要内容,如果未能解决你的问题,请参考以下文章
直播技术总结ijkplayer的编译到Android平台并测试解码库
ijkplayer编译 Android 版本的 ijkplayer ⑥ ( 进入 ijkplayer-android/android 目录 | 执行 compile-ijk.sh 脚本完成编译 )
ijkplayer编译 Android 版本的 ijkplayer ① ( Ubuntu 安装 Git 软件 | 下载 ijkplayer 代码 )
ijkplayer编译 Android 版本的 ijkplayer ② ( 切换到 k0.8.8 分支 | 执行 init-android.sh 脚本进行初始化操作 )
ijkplayer编译 Android 版本的 ijkplayer ④ ( 安装 make yasm 软件 | 执行 compile-ffmpeg.sh all 命令编译 ffmpeg )
ijkplayer编译 Android 版本的 ijkplayer ③ ( 执行 compile-ffmpeg.sh clean 命令 | 下载并配置 android-ndk-r10e )