#!/bin/bash
NDK="/home/wh/android-ndk-r12b"
SYSROOT=$NDK/platforms/android-9/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
function build_one
{
./configure --prefix=$PREFIX \
--disable-shared \
--enable-static \
--disable-debug \
--disable-doc \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-avdevice \
--disable-doc \
--disable-symver \
--disable-encoders \
--disable-muxers \
--disable-demuxers \
--disable-parsers \
--disable-bsfs \
--disable-protocols \
--disable-indevs \
--disable-outdevs \
--disable-filters \
--disable-decoders \
--enable-small \
--enable-asm \
--enable-nonfree \
--enable-neon \
--enable-gpl \
--enable-muxer=rawvideo \
--enable-encoder=rawvideo \
--enable-libx264 \
--enable-encoder=libx264 \
--enable-encoder=libfdk_aac \
--enable-decoder=libfdk_aac \
--enable-libfdk-aac \
--enable-demuxer=aac \
--disable-encoder=libfaac \
--enable-protocol=file \
--enable-muxer=mp4 \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=android \
--arch=arm \
--disable-libfaac \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS -mfpu=neon" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm -I/home/wh/FFmpeg-n3.1.3/x264/include/ -I/home/wh/FFmpeg-n3.1.3/fdkacc/include/ -DANDROID"
ADDI_LDFLAGS="-L/home/wh/FFmpeg-n3.1.3/x264/lib/ -L/home/wh/FFmpeg-n3.1.3/fdkacc/lib/"
CPU=armv5te
OPTIMIZE_CFLAGS="-marm -march=$CPU"
PREFIX=./android/$CPU
ADDITIONAL_CONFIGURE_FLAG="--disable-armv6 --disable-armv6t2 --disable-vfp --disable-neon"
build_one
#arm v7n
CPU=armv7-a
OPTIMIZE_CFLAGS="-marm -march=$CPU"
PREFIX=./android/$CPU
ADDITIONAL_CONFIGURE_FLAG=--enable-neon
build_one
注意:其中 --enable-libx264为打开x264 库编译,--enable-encoder=libx264 设在h264 编码库为x264 编码,--enable-encoder=libfdk_aac为打开libfdk-aac 库,--enable-decoder=libfdk_aac和--enable-libfdk-aac设置aac 的编码和解码库为libfdk-aac 编码库,这样就会替换内部的默认aac编码库。