当前位置: 代码迷 >> 综合 >> ijkplayer 编译步骤以及踩过的坑
  详细解决方案

ijkplayer 编译步骤以及踩过的坑

热度:61   发布时间:2024-03-09 14:59:57.0

花了几天捣鼓ijkplayer编译,终于编译好了,这里记录一下编译的详细过程。

1、编译环境:

  • 电脑系统:windows
  • 虚拟机:vmware + ubuntu
  • ijkplayer版本:k0.8.8
  • NDK版本:android-ndk-r10e-darwin-x86_64.bin

这个链接是我编译时参考的文章:
https://www.jianshu.com/p/2c1413486b01

2、步骤

前提:先安装git

sudo apt-get install git
sudo apt-get install yasm

1、下载ijkpalyer源码。

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

2、cd 到ijkplayer的根目录。然后创建分支

git checkout -B latest k0.8.8

3、下载源码,花费时间比较长

./init-android.sh
./init-android-openssl.sh

4、配置模式

cd config
rm module.sh
ln -s module-default.sh module.sh

5、开始编译

cd android/contrib
./compile-openssl.sh clean//清除
./compile-ffmpeg.sh clean//清除
./compile-openssl.sh all//编译
./compile-ffmpeg.sh all//编译

这里会遇到好多奇奇怪怪的问题:
在我进行到第三步时 “./compile-openssl.sh all//编译",出现了如下错误:


build on Linux x86_64
ANDROID_NDK=/usr/android-ndk-r10e
NDKr10e-rc4(64-bit) detected
mkdir: 无法创建目录 “/home/ken/桌面/ijkplayer-android/android/contrib/build”: 权限不够


好,竟然权限不够,那我在前面加上sudo

sudo ./compile-ffmpeg.sh all

结果出现了下面的结果:


build on Linux x86_64
ANDROID_NDK=
You must define ANDROID_NDK before starting.
They must point to your NDK directories.


这个的意思是说我的NDK没有配置好路径(这里提醒一下,最好采用r10e的,不然编译会报错 " You need the NDKr10e or later "),但是我已经在配置文件 /etc/profile 配置路径了,如下
在这里插入图片描述
一直网上查找,都说是我的NDK路径没有配置好。
之后我写了如下命令,提高ijkplayer-android夹文件的权限

sudo chmod -R 777 /home/ken/桌面/ijkplayer-android

然后再使用如下编译:

./compile-openssl.sh all//编译

终于可以运行了。

7、生成对应的so

cd ..
./compile-ijk.sh all