Android 平台下编译使用 FFmpeg
1.开发环境:
Ubuntu 16.04.6 LTS
android-ndk-r14b-linux-x86_64
ffmpeg-4.1.3 源代码
2.编写编译脚本
脚本中可配置 32 位,64 位,如下配置文件中变量可切换 32 位和 64 位配置,SYSROOT,
NDK_ABI ,CPU,ARCH。
32 位配置脚本:
export SYSROOT=$NDK/platforms/android-24/arch-arm/
export NDK_ABI=arm-linux-androideabi
export CPU=armv7a
export ARCH=arm
64 位脚本配置
export SYSROOT=$NDK/platforms/android-21/arch-arm64/
export NDK_ABI=aarch64-linux-android
export CPU=arm64
export ARCH=aarch64
脚本内容如下:
#!/bin/bash
# 清空上次的编译
make clean
#你自己的 NDK 路径。
export NDK=/home/xunchuang/mg_ws/android-ndk-r14b-linux-x86_64/android-ndk-r14b
# 设置你的 android 平台编译器的版本 这里采用 Android4.0
export SYSROOT=$NDK/platforms/android-24/arch-arm/
#export SYSROOT=$NDK/platforms/android-21/arch-arm64/
export NDK_ABI=arm-linux-androideabi
#export NDK_ABI=aarch64-linux-android
#编译使用的 toolchain
#export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
export TOOLCHAIN=$NDK/toolchains/$NDK_ABI-4.9/prebuilt/linux-x86_64
export CPU=armv7a
#export CPU=arm64
export ARCH=arm
#export ARCH=aarch64
# 这个是输出的路径
export PREFIX=$(pwd)/android/$CPU