编译环境准备
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
然后随便新建一个工程,等工程能顺利打开后,可以在 local.properites 看到我们 SDK 的位置, 先记录下。
可以看到时在 /home/liang/Android/Sdk 目录下存放了 Android Sdk 同样的,在与 Sdk 同级目录下创建一个 Ndk 目录。 把下载好的 ndk-r14b 放到 Ndk 目录下,然后执行 sudo unzip android-ndk-r14b-linux-x86_64.zip 解压命令
下载 ijkPlayer 源码
执行命令:
sudo apt-get update
sudo apt-get install git
编译
博客里面提到修改后的文件参考: ijkplayer/android/contrib/tools/do-compile-ffmpeg.sh 文件的修改
compile-ijk.sh 的修改。
遇到的错误
错误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 文件。在文件开头加上下面两行:
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bzlib"