在ubuntu下编译ijkplayer-android
我前面一片文字讲的是在windows的cygwin中去编译,那真是各种坑啊,软链接无法识别,x86和86_64的so文件无法编译出来等等,我折腾了几天还是没有在cygwin中完美编译ijkplayer,今天我用了一下同事的ubuntu的电脑,变异ijkplayer-android真的是很快,很快的。
1.前提:
下面是官方的提示:
# install homebrew, git, yasm
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
brew install yasm
# 需要配置 SDK和NDK路径
# add these lines to your ~/.bash_profile or ~/.profile
# export ANDROID_SDK=<your sdk path>
# export ANDROID_NDK=<your ndk path>
# Cygwin下需要安装的软件
# on Cygwin (unmaintained)
# install git, make, yasm
在ubuntu环境下,进入home/xxx/
xxx代表你的名字,进入目录后按Ctrl+H就可以看到隐藏的文件,你就可以看到:
.bashrc 文件,这里可以配置类似windows下的path环境变量,
打开后加上你的ANDROID_NDK和ANDROID_SDK 路径,我的配置如下:
NDK=/home/hudong/platform-tools/android-ndk-r11b
export NDK
ADB=/home/hudong/Android/Sdk/platform-tools
export ADB
# 我们的ANDROID_NDK和ANDROID_SDK 路径
ANDROID_NDK=/home/hudong/platform-tools/android-ndk-r11b
export ANDROID_NDK
ANDROID_SDK=/home/hudong/android-sdk
export ANDROID_SDK
# 加入到PATH路径
PATH=${PATH}:${NDK}:${ADB}:${ANDROID_NDK}:&{ANDROID_SDK}
在编译之前我们需要安装一些软件,make我们就不用安装了,make是在cygwin下需要安装的,
至于git我想大家都安装了吧,要是没有安装的话输入下面的命令就可以安装git和yasm了:
sudo apt-get update
sudo apt-get install git
sudo apt-get install yasm
2.系统版本:
3.编译步骤:
# 直接拉取源代码到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
# 检查更新代码
git checkout -B latest k0.5.1
# 初始化,会把ffmpeg的代码拉取到本地等等操作
./init-android.sh
cd android/contrib
./compile-ffmpeg.sh clean
# 编译ffmpeg软解码库
./compile-ffmpeg.sh all
cd ..
# 会生成各种版本的so文件
./compile-ijk.sh all
执行./compile-ffmpeg.sh all是编译ffmpeg,需要的时间久一点,只要你的配置和软件安装没有问题你就可以看到:
说明ffmpeg编译成功了,接下来就是编译ijkplayer了。
4.导入Android Studio:
这个不用我说明了吧,跟导入普通的项目是一样的:
5.最新精简源代码:
code地址: https://github.com/Dawish/ijkplayer-demo
精简代码后的目录: