Vladimir Kulyk Vladimir Kulyk - 1 month ago 30
Android Question

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
?

Answer

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/...