ffmepg x264 fdk-aac android ndk全CPU编译
16lz
2022-06-17
x264.sh
cd x264export NDK=/Users/jfyang/Library/Android/sdk/ndk-bundleexport LOCAL=$(pwd)/../android-lib./configure --help > $LOCAL/../help/x264.helpfunction build_one{ ./configure --prefix=$PREFIX \--enable-static \--enable-shared \--enable-pic \--disable-cli \--host=${HOST} \ --cross-prefix=$CROSS_COMPILE \ --arch=$ARCH \ --sysroot=$SYSROOT \ --extra-cflags="-Os -fpic $ADDI_CFLAGS -I$PREFIX/include -I$SYSROOT/usr/include -Wl,-rpath-link=$SYSROOT/usr/lib $EXTRA_CFLAGS " \ --extra-ldflags="$ADDI_LDFLAGS -L$PREFIX/lib -L$SYSROOT/usr/lib" \ ${ADDITIONAL_CONFIGURE_FLAG}make cleanmakemake installmake clean}function ARMABI(){#armabiARCH=armPREBUILT=$NDK/toolchains/$ARCH-linux-androideabi-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-androideabi-HOST=arm-linuxCPU=armSYSROOT=$NDK/platforms/android-18/arch-$CPU/PREFIX=$LOCAL/${CPU}abiADDI_CFLAGS="-marm -march=armv6"#EXTRA_CFLAGS="-fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 -mfloat-abi=softfp -mfpu=vfp"build_one}function ARMV7(){#ARMv7 平台PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/arm-linux-androideabi-HOST=armv7-linux CPU=armARCH=armv7SYSROOT=$NDK/platforms/android-18/arch-$CPU/PREFIX=$LOCAL/${CPU}abi-v7aADDI_CFLAGS="-march=armv7-a"#EXTRA_CFLAGS="-ffunction-sections -funwind-tables -fstack-protector -mfloat-abi=softfp -mfpu=vfpv3-d16 -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300"build_one}function X86(){#x86ARCH=x86PREBUILT=$NDK/toolchains/$ARCH-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/i686-linux-android-HOST=i686-linux CPU=x86SYSROOT=$NDK/platforms/android-18/arch-$CPU/PREFIX=$LOCAL/$CPUADDI_CFLAGS="-march=i686"#EXTRA_CFLAGS="-mtune=intel -mssse3 -mfpmath=sse -m32"ADDITIONAL_CONFIGURE_FLAG="--disable-asm"build_one}function MIPS(){#mipsARCH=mipselPREBUILT=$NDK/toolchains/$ARCH-linux-android-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-android-HOST=mips-linux CPU=mipsSYSROOT=$NDK/platforms/android-18/arch-$CPU/PREFIX=$LOCAL/$CPUADDI_CFLAGS=""#EXTRA_CFLAGS=""ADDITIONAL_CONFIGURE_FLAG="--disable-asm"#ADDITIONAL_CONFIGURE_FLAG="--disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu"build_one}function ARM64(){#arm64-v8aARCH=aarch64PREBUILT=$NDK/toolchains/$ARCH-linux-android-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-android-HOST=aarch64-linux CPU=arm64SYSROOT=$NDK/platforms/android-21/arch-$CPU/PREFIX=$LOCAL/${CPU}-v8aADDI_CFLAGS=""#EXTRA_CFLAGS=""ADDITIONAL_CONFIGURE_FLAG=""build_one}function MIPS64(){#mips64ARCH=mips64elPREBUILT=$NDK/toolchains/$ARCH-linux-android-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-android-HOST=mips64-linux CPU=mips64SYSROOT=$NDK/platforms/android-21/arch-$CPU/PREFIX=$LOCAL/$CPUADDI_CFLAGS=""EXTRA_CFLAGS=""ADDITIONAL_CONFIGURE_FLAG="--disable-asm"#ADDITIONAL_CONFIGURE_FLAG="--disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu"build_one}function X86_64(){#x86_x64ARCH=x86_64PREBUILT=$NDK/toolchains/$ARCH-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-android-HOST=x86_64-linux CPU=x86_64SYSROOT=$NDK/platforms/android-21/arch-$CPU/PREFIX=$LOCAL/$CPUADDI_CFLAGS="-march=x86-64"#EXTRA_CFLAGS="-msse4.2 -mpopcnt -m64 -mtune=intel"ADDITIONAL_CONFIGURE_FLAG="--disable-asm"build_one}#ARMABI#ARMV7#X86#MIPSARM64#MIPS64#X86_64cd ..
注意:在windows平台上用此脚本编译需要禁用 asm (--disable-asm)
cd fdk-aacexport NDK=/Users/jfyang/Library/Android/sdk/ndk-bundleexport LOCAL=$(pwd)/../android-lib./autogen.sh./configure --help > $LOCAL/../help/fdk-aac.helpfunction build_one{export CPPFLAGS="$CFLAGS"export CFLAGS="$CFLAGS -arch ${ARCH}"export CXXFLAGS="$CFLAGS -arch ${ARCH} -I${SYSROOT}/usr/include ${ADDI_CFLAGS}"export CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}"export LDFLAGS="$LDFLAGS -arch ${ARCH} -L${SYSROOT}/usr/lib ${ADDI_CFLAGS}"export CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}"export NM="${CROSS_COMPILE}nm"export STRIP="${CROSS_COMPILE}strip"export RANLIB="${CROSS_COMPILE}ranlib"export AR="${CROSS_COMPILE}ar"export LD="${CROSS_COMPILE}ld"export AS="${CROSS_COMPILE}gcc"./configure --prefix=$PREFIX \--without-mp4v2 \--host=${HOSE} \--enable-pic \--enable-strip \--target=android \--enable-static \--enable-shared \--with-sysroot=${SYSROOT}make cleanmakemake installmake clean}function ARMABI(){#armabiARCH=armPREBUILT=$NDK/toolchains/$ARCH-linux-androideabi-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-androideabi-HOSE=arm-androideabi-linux-4.9CPU=armSYSROOT=$NDK/platforms/android-18/arch-$CPU/PREFIX=$LOCAL/${CPU}abiADDI_CFLAGS="-marm -march=armv6"#EXTRA_CFLAGS="-fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 -mfloat-abi=softfp -mfpu=vfp"build_one}function ARMV7(){#ARMv7 平台ARCH=armv7PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/arm-linux-androideabi-HOSE=armv7-androideabi-linux-4.9CPU=armSYSROOT=$NDK/platforms/android-18/arch-$CPU/PREFIX=$LOCAL/${CPU}abi-v7aADDI_CFLAGS="-march=armv7-a"#EXTRA_CFLAGS="-ffunction-sections -funwind-tables -fstack-protector -mfloat-abi=softfp -mfpu=vfpv3-d16 -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300"build_one}function X86(){#x86ARCH=x86PREBUILT=$NDK/toolchains/$ARCH-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/i686-linux-android-HOSE=i686-android-linux-4.9CPU=x86SYSROOT=$NDK/platforms/android-18/arch-$CPU/PREFIX=$LOCAL/$CPUADDI_CFLAGS="-march=i686"#EXTRA_CFLAGS="-mtune=intel -mssse3 -mfpmath=sse -m32"#ADDITIONAL_CONFIGURE_FLAG=""build_one}function MIPS(){#mipsARCH=mipselPREBUILT=$NDK/toolchains/$ARCH-linux-android-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-android-HOSE=mipsel-android-linux-4.9CPU=mipsSYSROOT=$NDK/platforms/android-18/arch-$CPU/PREFIX=$LOCAL/$CPUADDI_CFLAGS=""#EXTRA_CFLAGS=""#ADDITIONAL_CONFIGURE_FLAG="--disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu"build_one}function ARM64(){#arm64-v8aARCH=aarch64PREBUILT=$NDK/toolchains/$ARCH-linux-android-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-android-HOSE=aarch64-android-linux-4.9CPU=arm64SYSROOT=$NDK/platforms/android-21/arch-$CPU/PREFIX=$LOCAL/${CPU}-v8aADDI_CFLAGS="-march=aarch64"#EXTRA_CFLAGS=""build_one}function MIPS64(){#mips64ARCH=mips64elPREBUILT=$NDK/toolchains/$ARCH-linux-android-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-android-HOSE=mips64-android-linux-4.9CPU=mips64SYSROOT=$NDK/platforms/android-21/arch-$CPU/PREFIX=$LOCAL/$CPUADDI_CFLAGS=""EXTRA_CFLAGS=""#ADDITIONAL_CONFIGURE_FLAG="--disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu"build_one}function X86_64(){#x86_x64ARCH=x86_64PREBUILT=$NDK/toolchains/$ARCH-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-android-HOSE=x86_64-android-linux-4.9CPU=x86_64SYSROOT=$NDK/platforms/android-21/arch-$CPU/PREFIX=$LOCAL/$CPUADDI_CFLAGS="-march=x86-64"#EXTRA_CFLAGS="-msse4.2 -mpopcnt -m64 -mtune=intel"#ADDITIONAL_CONFIGURE_FLAG=""build_one}#ARMABI#ARMV7#X86#MIPSARM64#MIPS64#X86_64cd ..
ffmpeg.sh
#!/bin/bashcd ffmpeg-2.7.1#: 以下三个变量根据自己系统环境配置export NDK=$NDK_ROOT#NDK=/Users/jfyang/Library/Android/sdk/ndk-bundleexport LOCAL=$(pwd)/../android-lib./configure --help > $LOCAL/../help/ffmpeg.helpfunction build_one{ ./configure \ --prefix=$PREFIX \ --enable-shared \ --enable-static \ --enable-gpl \ --enable-nonfree \ --disable-doc \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --disable-ffserver \ --disable-doc \ --disable-symver \ --disable-yasm \ --enable-small \ --enable-libx264 \ --enable-libfdk-aac \ --cross-prefix=$CROSS_COMPILE \ --target-os=linux \ --arch=$ARCH \ --host-os=android \ --enable-cross-compile \ --sysroot=$SYSROOT \ --extra-cflags="-Os -fpic -DANDROID $ADDI_CFLAGS -I$PREFIX/include -I$SYSROOT/usr/include -Wl,-rpath-link=$SYSROOT/usr/lib $EXTRA_CFLAGS " \ --extra-ldflags="$ADDI_LDFLAGS -L$PREFIX/lib -L$SYSROOT/usr/lib" \ $ADDITIONAL_CONFIGURE_FLAG make clean make make install}function ARMABI(){#armabiARCH=armPREBUILT=$NDK/toolchains/$ARCH-linux-androideabi-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-androideabi-CPU=armSYSROOT=$NDK/platforms/android-18/arch-$CPU/PREFIX=$LOCAL/${CPU}abiADDI_CFLAGS="-marm -march=armv6"EXTRA_CFLAGS="-fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 -mfloat-abi=softfp -mfpu=vfp"build_one}function ARMV7(){#ARMv7 平台PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/arm-linux-androideabi-CPU=armARCH=armSYSROOT=$NDK/platforms/android-18/arch-$CPU/PREFIX=$LOCAL/${CPU}abi-v7aADDI_CFLAGS="-march=armv7-a"EXTRA_CFLAGS="-ffunction-sections -funwind-tables -fstack-protector -mfloat-abi=softfp -mfpu=vfpv3-d16 -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300"build_one}function X86(){#x86ARCH=x86PREBUILT=$NDK/toolchains/$ARCH-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/i686-linux-android-CPU=x86SYSROOT=$NDK/platforms/android-18/arch-$CPU/PREFIX=$LOCAL/$CPUADDI_CFLAGS="-march=i686"EXTRA_CFLAGS="-mtune=intel -mssse3 -mfpmath=sse -m32"ADDITIONAL_CONFIGURE_FLAG=""build_one}function MIPS(){#mipsARCH=mipselPREBUILT=$NDK/toolchains/$ARCH-linux-android-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-android-CPU=mipsSYSROOT=$NDK/platforms/android-18/arch-$CPU/PREFIX=$LOCAL/$CPUADDI_CFLAGS=""EXTRA_CFLAGS=""ADDITIONAL_CONFIGURE_FLAG="--disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu"build_one}function ARM64(){#arm64-v8aARCH=aarch64PREBUILT=$NDK/toolchains/$ARCH-linux-android-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-android-CPU=arm64SYSROOT=$NDK/platforms/android-21/arch-$CPU/PREFIX=$LOCAL/$CPU-v8aADDI_CFLAGS=""EXTRA_CFLAGS=""build_one}function MIPS64(){#mips64ARCH=mips64elPREBUILT=$NDK/toolchains/$ARCH-linux-android-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-android-CPU=mips64SYSROOT=$NDK/platforms/android-21/arch-$CPU/PREFIX=$LOCAL/$CPUADDI_CFLAGS=""EXTRA_CFLAGS=""ADDITIONAL_CONFIGURE_FLAG="--disable-asm --disable-mips32r2 --disable-mips32r5 --disable-mips64r6 --disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu"build_one}function X86_64(){#x86_64ARCH=x86_64PREBUILT=$NDK/toolchains/$ARCH-4.9/prebuilt/darwin-x86_64/CROSS_COMPILE=$PREBUILT/bin/$ARCH-linux-android-CPU=x86_64SYSROOT=$NDK/platforms/android-21/arch-$CPU/PREFIX=$LOCAL/$CPUADDI_CFLAGS="-march=x86-64"EXTRA_CFLAGS="-msse4.2 -mpopcnt -m64 -mtune=intel"ADDITIONAL_CONFIGURE_FLAG=""build_one}#ARMABI#ARMV7#X86#MIPS#ARM64MIPS64#X86_64cd ..
更多相关文章
- android 开发环境搭建
- 构建更好的应用--Xamarin平台
- android使用全局变量的方法
- Android(安卓)ListView下滑会报空指针异常
- Android(安卓)自定义Dialog时出现成员变量为null的问题
- android 开发环境搭建
- android gradle 自动动态构建多平台的包
- android 布局文件中控件ID、name标签属性的命名包含“@”、“.”
- Android环境变量的设置