首先,
获取ffmpeg的工具包
这里我使用的是4.1
然后获取编译环境MinGw
下载完成后安卓,会有一个弹窗
然后配置环境变量
这里是win10的
然后进入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)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'
编写批处理文件
#!/bin/bash
set -x
API=21
export TMPDIR="F:/so"
NDK=E:/ndklist/android-ndk-r17c-windows-x86_64/android-ndk-r17c
SYSROOT=$NDK/platforms/android-$API/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64
function function_one
{
./configure \
--prefix=$PREFIX \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffplay \
--disable-ffprobe \
--disable-symver \
--disable-ffmpeg \
--cc=$TOOLCHAIN/bin/arm-linux-androideabi-gcc \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=android \
--arch=arm \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-I$NDK/sysroot/usr/include/arm-linux-androideabi -isysroot $NDK/sysroot -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a" \
--enable-neon
make clean all
make
make install
}
CPU=armv7-a
PREFIX=F:/FFmpeg/uotput/lib
function_one
注释:
API:你的目标编译版本<gradle配置的tag
TMPDIR: 编译时的临时文件位置,一定要有,不然编译失败!
NDK:你的NDK路径
PREFIX:你编译成功后so文件的位置
以上均为准备工作
正文
进入到你MinGw的安装目录:E:\MinGw\msys\1.0
双击 :msys.bat
按照上面的顺序就可以了,批处理的文件名不要敲错了,尽量CV
如果成功的话那么会有一个漫长的等待时间~~~
会在你批处理文件中设置的(PREFIX)文件夹下生成这个玩意了,然后可以愉快的拿去集成了
网友评论