Ubuntu下编译Bilibili/ijkplayer

在做Android客户端视频播放器的过程中熟悉ijkplayer。他在视频支持协议上要比Android原生的mediaplayer做的要好。因此,自己也基于Bilibili/ijkplayer的重新编译了一下。

1.准备工作

在Vmware下安装ubuntu这里就不累赘介绍了。

一、查看操作系统是32位的还是64位的

在控制台输入:sudo uname --m

回车后:

如果显示i686,则表示安装了32位操作系统

如果显示 x86_64,则表示安装了64位操作系统

Ubuntu下编译Bilibili/ijkplayer
图一:ubuntu系统位数

二、NDK下载安装

从上面看到我的系统是32位的

1.下载ndk

https://developer.android.google.cn/ndk/downloads/index.html  目前android-ndk-r14b-linux-x86_64.zip没有32位的。使用64位安装会报错。

android-ndk-r10e-linux-x86.bin 版本 https://dl.google.com/android/ndk/android-ndk-r10e-linux-x86.bin

在ubuntu个人目录下使用

wget -c https://dl.google.com/android/ndk/android-ndk-r10e-linux-x86.bin

进行下载

Ubuntu下编译Bilibili/ijkplayer
图2:下载和安装的目录

执行 chmod a+x android-ndk-r10e-linux-x86.bin

#增加执行权限

执行

./android-ndk-r10c-linux-x86_64.bin

#执行bin文件

安装成功后的目录结构为

/home/menggang/Android/ndk/android-ndk-r10e

2.配置PATH路径:

执行  sudo gedit /etc/profile,在文件末尾加入如下内容:

export ANDROID_NDK=/home/menggang/Android/ndk/android-ndk-r10e

export PATH=$PATH:ANDROID_NDK

export ANDROID_SDK=/home/menggang/Android/sdk/android-sdk-linux

export PATH=${PATH}:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools

Ubuntu下编译Bilibili/ijkplayer
图3:环境变量配置

【保存并退出】

执行  source/etc/profile 

#使配置生效

至此 android NDK 安装配置完毕。

3.验证是否安装成功

执行   echo $ANDROID_NDK

#验证配置目录是否正确

执行  $ANDROID_NDK/ndk-build -v

#验证是否安装成功

Ubuntu下编译Bilibili/ijkplayer
图4:验证是否NDK是否配置成功

在个人的目录的.bashrc最后一行加入source /etc/profile

原因:每次重新打开命令窗口需要用到NDK时需要先执行source /etc/profile

Ubuntu下编译Bilibili/ijkplayer
图5:配置终端过程

三、SDK下载安装

1.下载安装SDK

我的sdk下载目录/home/menggang/Android/sdk

在http://tools.android-studio.org/下载最新的sdk到该目录下

执行 tar -xvzf android-sdk_r24.4.1-linux.tgz

#进行解压安装

Ubuntu下编译Bilibili/ijkplayer
图6:sdk安装

2.环境变量配置

同上,将环境变量写入/etc/profile,通过source /etc/profile使配置生效

export ANDROID_SDK=/home/menggang/Android/sdk/android-sdk-linux

export PATH=${PATH}:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools

3.验证是否安装成功

执行  adb shell

执行  adb -version

#检测是否成功

4.更新sdk

sdk 目录下tools/android 文件没有执行权限。

执行 chmod a+x android添加执行权限。

./android

#即可打开ubuntu android sdk manager

四、openjak的安装

http://ubuntuhandbook.org/index.php/2015/01/install-openjdk-8-ubuntu-14-04-12-04-lts/

1. Open terminal from the Dash or by pressing Ctrl+Alt+T. When it opens, run the command below to add PPA:

sudo add-apt-repository ppa:openjdk-r/ppa

Ubuntu下编译Bilibili/ijkplayer

Type in user password when it asks and hit Enter to continue.

2. After that, update system package cache and install OpenJDK 8:

sudo apt-get update

sudo apt-get install openjdk-8-jdk

3. If you have more than one Java versions installed on your system. Run below command set the default Java:

sudo update-alternatives --config java

Type in a number to select a Java version.

Ubuntu下编译Bilibili/ijkplayer

And set default Java Compiler by running:

sudo update-alternatives --config javac

4. Finally check out current Java version by running:

java -version

It outputs something like this:

openjdk version "1.8.0_01-internal"

OpenJDK Runtime Environment (build 1.8.0_01-internal-b04)

OpenJDK 64-Bit Server VM (build 25.40-b08, mixed mode)

五、安装一些软件

sudo apt-get update

sudo apt-get install git

sudo apt-get install yasm

六、下载ijkplayer-android

git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android

七、开始编译

编译可以参考https://github.com/Bilibili/ijkplayer官网的Build Android 模块。编译时间相对漫长。


参考文献:

1.在Ubuntu下编译IjkPlayer-android - 简书

2.小白鼠初试ijkplayer编译(ubuntu) - 简书

3.在ubuntu下编译ijkplayer-android - CSDN博客

4.GitHub - Bilibili/ijkplayer: Android/iOS video player based on FFmpeg n3.3, with MediaCodec, VideoToolbox support.

上一篇:Java编写的日历,输入年月,输出这个月的日期与星期


下一篇:为何在font-family属性中设置多个值