Search code examples
androidffmpegandroid-ffmpeg

Build FFMPEG 3.1.4 for Android


I used this and this methods to build latest (3.1.4) FFMPEG version for Android.
Build was succeed.
I got several folders with sources / headers / .o files.
But unfortunately there are no .so files I need.
Are there some updated script for building latest FFMPEG for android?
Or, how to convert .o and other files to .so?


Solution

  • I've actually posted this as a few answers now. This works perfectly for ffmpeg 3.1.4:

    #!/bin/bash
    
    NDK=$HOME/Android/Sdk/ndk-bundle
    SYSROOT=$NDK/platforms/android-19/arch-arm/
    TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
    CPREFIX=$TOOLCHAIN/bin/arm-linux-androideabi-
    
    function build_it {
    ./configure \
        --prefix=$PREFIX    \
        --disable-static    \
        --enable-shared     \
        --disable-doc       \
        --disable-ffmpeg    \
        --disable-ffplay    \
        --disable-ffprobe   \
        --disable-ffserver  \
        --disable-avdevice  \
        --disable-doc       \
        --disable-symver    \
        --cross-prefix=$CPREFIX \
        --target-os=linux   \
        --arch=arm      \
        --enable-cross-compile  \
        --enable-gpl        \
        --sysroot=$SYSROOT  \
        --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
        --extra-ldflags="$ADDI_LDFLAGS" \
        $ADDITIONAL_CONFIGURE_FLAG
        make clean
        make -j9
        make install
    }
    
    CPU=arm
    PREFIX=$(pwd)/android/$CPU
    ADDI_CFLAGS="-marm"
    
    build_it
    

    You will find the android libraries and headers in android/arm/...