Windows环境Ubuntu虚拟机中编译androidijkplayer

环境

windows11系统安装的VMware Workstation虚拟机

ijkplayer Github地址:GitHub - bilibili/ijkplayer: Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.

github上面的编译说明:

git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.8.8

./init-android.sh

cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all

cd ..
./compile-ijk.sh all

其中遇到的问题及解决方案:

1。VMware 虚拟机无法访问网络

解决方案:

1.虚拟机网络适配器选择 NAT 模式

Windows环境Ubuntu虚拟机中编译androidijkplayer_第1张图片

 2.windows服务中启动VMware对应的服务Windows环境Ubuntu虚拟机中编译androidijkplayer_第2张图片

2。由于网络不稳定,下载文件的时候可能会中断

error: RPC failed; curl 7 GnuTLS recv error (-54): Error in the pull function.
fatal: the remote end hung up unexpectedly

fatal: unable to access 'https://github.com/Bilibili/soundtouch.git/': Failed to connect to github.com port 443: Connection refused
error: Could not fetch origin

解决方案:

本人通过代理查询www.github.com的ip地址,修改配置文件 /etc/hosts, 依然会偶尔出现这些问题。

打开init-android.sh文件,可以根据终端的位置,有选择性的执行脚本
Windows环境Ubuntu虚拟机中编译androidijkplayer_第3张图片

 在init-android.sh文件中找到这一部分代码

Windows环境Ubuntu虚拟机中编译androidijkplayer_第4张图片

 在对应目录执行该脚本即可,拉取其他代码库中断同理.网络不稳定的话,多执行几次,保证所有文件都下载完整。

Windows环境Ubuntu虚拟机中编译androidijkplayer_第5张图片

 下载完成后,检查ijkplayer-android/android/contrib下 各架构的文件夹下 文件是否完整

Windows环境Ubuntu虚拟机中编译androidijkplayer_第6张图片

Windows环境Ubuntu虚拟机中编译androidijkplayer_第7张图片

编译前修改文件权限

cd..

sudo chmod 777 -R ./ijkplayer-android/

3。ndk版本不支持

build on Linux x86_64
ANDROID_NDK=/home/gzk/Android/Sdk/ndk/21
IJK_NDK_REL=21.4.7075529
You need the NDKr10e or later

解决方案:

打开 compile-ffmpeg.sh 

执行编译脚本 tools/do-compile-ffmpeg.sh

Windows环境Ubuntu虚拟机中编译androidijkplayer_第8张图片

 Windows环境Ubuntu虚拟机中编译androidijkplayer_第9张图片

 Windows环境Ubuntu虚拟机中编译androidijkplayer_第10张图片

说明支持的ndk版本是 11,12,13,14.

下载ndk r14b

地址:Unsupported Downloads · android/ndk Wiki · GitHub

Windows环境Ubuntu虚拟机中编译androidijkplayer_第11张图片

解压后在compile-ffmpeg.sh 中 指定ndk路径

Windows环境Ubuntu虚拟机中编译androidijkplayer_第12张图片

Android NDK: android-9 is unsupported. Using minimum supported version android-16. 

在compile-ijk.sh文件中 指定ndk路径

Windows环境Ubuntu虚拟机中编译androidijkplayer_第13张图片

你可能感兴趣的:(Android,FFmpeg,android)