FFMPEG

官方有基础的ndk build jni的所有基础用法。googlesamples

  1. build ffmpeg for android

    1. create build.sh

      touch $FFMPEG_dir/build.sh

      #!/bin/bash
      cd ffmpeg
      export TMPDIR=/Users/jiek/workspace/ffmpeg/tempdir
      NDK=/Users/Shared/sdk/ndk-bundle
      SYSROOT=$NDK/platforms/android-16/arch-arm/
      TOOLCHAIN=/Users/Shared/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
      CPU=arm
      PREFIX=/Users/jiek/workspace/ffmpeg/output
      ADDI_CFLAGS="-marm"
      function build_one
      {
      ./configure \
         --prefix=$PREFIX \
         --enable-shared \
         --disable-static \
         --disable-doc \
         --disable-ffmpeg \
         --disable-ffplay \
         --disable-ffprobe \
         --disable-ffserver \
         --disable-doc \
         --disable-symver \
         --enable-small \
         --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
      }
      build_one
      cd ../
    2. run build

      $ ./build.sh output a number of SO files in $PREFIX folder.

  2. build android project Env.

    1. Use Android studio 2.3 IDE

    2. checked include C++ support.

Last updated

Was this helpful?