android-如何为所有cpu架构编译ffmpeg

时间:2014-07-11 10:32:15

标签: android android-ndk ffmpeg

如何为android中的所有cpu架构编译ffmpeg。目前我正在使用以下脚本生成仅用于arm的库。

#!/bin/bash
NDK=$HOME/ndk32
SYSROOT=$NDK/platforms/android-9/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86
function build_one
{
./configure \
    --prefix=$PREFIX \
    --enable-shared \
    --disable-static \
    --disable-doc \
    --disable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-ffserver \
    --disable-avdevice \
    --disable-doc \
    --disable-symver \
    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
    --target-os=linux \
    --arch=arm \
    --enable-cross-compile \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
    --extra-ldflags="$ADDI_LDFLAGS" \
    $ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU 
ADDI_CFLAGS="-marm"
build_one

我想支持所有可能的平台。

1 个答案:

答案 0 :(得分:1)

只需使用不同的工具链,请参阅 AndroidFFmpeg 项目中的build_android.sh作为一个很好的示例。请注意,它也处理ARM NEON SIMD的库,如果检测到NEON支持,它将在运行时加载。