先贴一下Android编译脚本
// An highlighted block
#!/bin/bash
export NDK=/Users/xxx/Downloads/android-ndk-r14b
export SYSROOT=$NDK/platforms/android-21/arch-arm
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
PREFIX=/Users/xxx/Documents/Git/ffmpeg/build_android
COMMON_OPTIONS="\
--prefix=$PREFIX \
--target-os=android \
--disable-static \
--enable-shared \
--enable-small \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-doc \
--enable-avresample \
--disable-symver \
--disable-asm \
--disable-armv5te \
--enable-debug \
--disable-stripping \
--extra-libs=-lgcc \
"
function build_android {
#armeabi平台
./configure \
--libdir=$PREFIX/libs/armeabi \
--incdir=$PREFIX/includes/armeabi \
--pkgconfigdir=$PREFIX/pkgconfig/armeabi \
--arch=arm \
--cpu=armv6 \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--sysroot=$SYSROOT \
--extra-ldexeflags=-pie \
${COMMON_OPTIONS}
make clean
make -j8 && make install
#armeabi-v7a平台
./configure \
--libdir=$PREFIX/libs/armeabi-v7a \
--incdir=$PREFIX/includes/armeabi-v7a \
--pkgconfigdir=$PREFIX/pkgconfig/armeabi-v7a \
--arch=arm \
--cpu=armv7-a \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--sysroot=$SYSROOT \
--extra-cflags="-march=armv7-a -mfloat-abi=softfp -mfpu=neon" \
--extra-ldexeflags=-pie \
${COMMON_OPTIONS}
make clean
make -j8 && make install
#arm64-v8a
./configure \
--libdir=$PREFIX/libs/arm64-v8a \
--incdir=$PREFIX/includes/arm64-v8a \
--pkgconfigdir=$PREFIX/pkgconfig/arm64-v8a \
--arch=aarch64 \
--cpu=armv8-a \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--sysroot=$SYSROOT \
--extra-ldexeflags=-pie \
${COMMON_OPTIONS}
make clean
make -j8 && make install
#armeabi
./configure \
--libdir=$PREFIX/libs/x86 \
--incdir=$PREFIX/includes/x86 \
--pkgconfigdir=$PREFIX/pkgconfig/x86 \
--arch=x86 \
--cpu=i686 \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--sysroot=$SYSROOT \
--extra-ldexeflags=-pie \
${COMMON_OPTIONS}
make clean
make -j8 && make install
#x86_64
./configure \
--libdir=$PREFIX/libs/x86_64 \
--incdir=$PREFIX/includes/x86_64 \
--pkgconfigdir=$PREFIX/pkgconfig/x86_64 \
--arch=x86_64 \
--cpu=x86_64 \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--sysroot=$SYSROOT \
--extra-ldexeflags=-pie \
${COMMON_OPTIONS}
make clean
make -j8 && make install
};
build_android
整个编译没有遇到大的问题,和网上其他大神贴的编译方案差不多
刚开始使用ndk-r18 和 r20 , 一直提示 C compiler test failed, 在多次尝试后,发现是工具链的问题,改成 ndk-r14编译成功