编译 ffmpeg 4.1 Android端
获取源码
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
下载 Android ndk r17,新版本的NDK编译不通过,且必须使用NDK中的编译工具,楼主亲测,Xcode包含的编译工具无法通过编译.
设定ndk 环境变量
export NDK=/Users/lion/Android/sdk/ndk-bundle
export SYSROOT=$NDK/platforms/android-21/arch-arm
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
ISYSROOT=$NDK/sysroot
ASM=$ISYSROOT/usr/include/arm-linux-androideabi
CPU=armv7-a
export PREFIX=$(pwd)/android/$CPU ADDI_CFLAGS="-marm"
构建配置
./configure \ --target-os=android \ --prefix=$PREFIX \ --enable-cross-compile \ --enable-static \ --disable-shared \ --disable-doc \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --disable-avdevice \ --disable-doc \ --disable-symver \ --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \ --cc=$TOOLCHAIN/bin/arm-linux-androideabi-gcc \ --nm=$TOOLCHAIN/bin/arm-linux-androideabi-nm \ --arch=arm \ --sysroot=$SYSROOT \ --extra-cflags="-I$ASM -isysroot $ISYSROOT -D__ANDROID_API__=21 -U_FILE_OFFSET_BITS -Os -fPIC -DANDROID -Wno-deprecated -mfloat-abi=softfp -marm" \ --extra-ldflags="$ADDI_LDFLAGS" \ $ADDITIONAL_CONFIGURE_FLAG
编译
make clean
make -j4
make install