今天看啥  ›  专栏  ›  Landroid

ijkPlayer 在 Ubuntu20.04 下编译

Landroid  · 掘金  ·  · 2021-04-04 17:02

文章预览

阅读 8

ijkPlayer 在 Ubuntu20.04 下编译

编译环境准备

1.下载 Android Studio

2.下载 android-ndk-r14b-linux-x86_64.zip

下载好 Android Studio 后,在你自己的 home 目录下新建一个文件夹 android studio 然后执行命令 sudo tar -xvf android-studio-ide-201.7199119-linux.tar.gz 解压好后,就会出现一个 android-studio 目录 在 bin 目录下执行 ./studio.sh 命令打开 Android stuido

1.png

然后随便新建一个工程,等工程能顺利打开后,可以在 local.properites 看到我们 SDK 的位置, 先记录下。

image.png

可以看到时在 /home/liang/Android/Sdk 目录下存放了 Android Sdk 同样的,在与 Sdk 同级目录下创建一个 Ndk 目录。 把下载好的 ndk-r14b 放到 Ndk 目录下,然后执行 sudo unzip android-ndk-r14b-linux-x86_64.zip 解压命令

image.png

下载 ijkPlayer 源码

执行命令:

sudo apt-get update

sudo apt-get install git

编译

这里可以参考这篇博客

博客里面提到修改后的文件参考: ijkplayer/android/contrib/tools/do-compile-ffmpeg.sh 文件的修改 image.png

3.png

compile-ijk.sh 的修改。

image.png

遇到的错误

错误1:每次执行编译终止于:ERROR:Failed to create toolchain

可以参考这篇文章 可以通过命令

python2 -v 来查看是否安装了 python2

解决方法: 1.可以按照上面文章里面把 python 修改成 python3

2.或者下载 python2

sudo apt-get install python

我这里通过第二种方法来解决的。

错误2: 编译过程中报:BFD: libncurses.so.5: cannot open shared object file: No such file or directory

sudo apt install apt-file

sudo apt-file update

sudo apt-file find libncurses.so.5

sudo apt install libncurses5

错误3:遇到 ./libavutil/timer.h:38:31: fatal error: linux/perf_event.h: No such file or directory

一般来说都是在执行命令 ln -s module-default.sh module.sh 之后,编译的时候才会遇到这个问题,所以我们修改的是 config 目录下的 module.sh 文件。在文件开头加上下面两行:

image.png export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bzlib"

………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览