编译环境:
win7 64位,虚拟机ubuntu14.04,ndk14,ffmpeg4.0.1
1.安装虚拟机:
1.下载vmware12pro (百度下载安装即可)
2.添加虚拟机:
a.网上下载ubuntu-14.04.6-desktop-amd64.iso镜像 (链接:https://pan.baidu.com/s/1723JqZFU9Kj-RDrgvSuxvw 提取码941t)
b.vmware中创建新的虚拟机(操作简单,不会可以网上搜索)
2.安装ndk:
1.下载ndk14(链接:https://pan.baidu.com/s/1yU01OZ0pQx65WSWt_0v5mw 提取码:xdlj)
注意:这里使用高版本的ndk编译时会报错(unable to create an executable file. C compiler test failed.)
2.在虚拟机下新建ndk目录,将ndk压缩包拷贝到虚拟机下,解压,然后配置环境变量
a.
b.
c.
d.
3.编译ffmpeg
1.下载ffmpeg(链接:https://pan.baidu.com/s/1Oa7uzvxme_ae5EyJNVu2Cg 提取码:00pu )
2.新建ffmpeg目录,拷贝ffmpeg,解压
a.
b.
c.
3.制作编译脚本build_android.sh(链接:https://pan.baidu.com/s/1YDyi9wFTYwF08W5bBwSP8w 提取码:7as9 )
#!/bin/bash
# 设置临时文件夹,需要提前手动创建
export TMPDIR="/home/jmc/ffmpeg/FFmpeg-n4.0.1/ffmpegtemp"
# 设置NDK路径
NDK=/home/jmc/ndk/android-ndk-r14b
# 设置编译针对的平台,可以根据实际需求进行设置
# 当前设置为最低支持android-14版本,arm架构
SYSROOT=$NDK/platforms/android-14/arch-arm
# 设置编译工具链,4.9为版本号
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
function build_one
{
./configure \
--enable-cross-compile \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-avdevice \
--disable-doc \
--disable-symver \
--extra-libs=-lgcc \
--prefix=$PREFIX \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=android \
--arch=arm \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
# 设置编译后文件的输出目录
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one
4.执行编译脚本