在搜索了各种文章资料,下载了各种版本FFmpeg、ndk后还是出现各种编译问题,之前也编译过ijkplayer,很轻松就配置好编译成功了。这次肯定是姿势不对haha~
这里推荐大家使用avbuild,可用直接使用最新的FFmpeg、最新的ndk,不用再关心这些版本问题。
下面简单介绍一下使用方法:我的环境是mac,linux和windows的没试过,应该也没问题
默认大家都简单了解了(知道有这回事就好):
交叉编译、编译器(gcc、clang)、环境变量(ndk、FFmpeg的路径)、android不同架构(x86、x86_64、arm64等)
默认大家都下载了最新的
FFmpeg -> 4.1
ndk -> ndk r19
可以开始了
打开终端,输入以下环境变量
# 配置ndk路径
export ANDROID_NDK=/path/to/ndk # 替换成你自己的路径
# 配置ffmpeg路径
export FFSRC=/path/to/ffmpeg # 替换成你自己的路径
# 可选:配置编译器
export USE_TOOLCHAIN=clang #这里使用clang
在avbuild目录中执行以下命令,具体参考他的wiki
./avbuild.sh android "armv7-clang arm64" # clang build for armv7, gcc build for arm64
然后等着就编译成功啦~
关于配置支持的格式
在avbuild.sh中可以找
config.sh and config-${target_platform}.sh is automatically included. config-lite.sh is for building smaller libraries.
如果需要编译android平台,在目录下添加一个config-android.sh就可以了,具体的配置可以根据需要修改,也可以简单把config-lite.sh中的内容复制过去
如果你遇到问题,可以在下方留言哦