因android studio工程需要,需要编译ffmpeg64位的so库,参考了很多文档总是出错,最后终于成功,使用的环境是centos7,需要安装gcc,ndk的版本是android-ndk-r14b-linux-x86_64,ffmpeg的版本是ffmpeg-3.2.9,之前编译过ffmpeg3.4.1,64位一直没成功且总出错,最后终于成功。请参考以下说明。
1、文件下载按上面的说明下载需要的源码文件
2、配置系统环境变量,在/etc/profile的末尾添加
NDKROOT=/home/suirui/android-ndk-r14b
export PATH=$NDKROOT:$PATH
添加完成后,执行source /etc/profile立即生效
3、在解压后的ffmpeg的源码路径下,找到configure文件,将以下几行替换
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR)$(SLIBNAME)'
替换为下面内容:
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'