编译环境
- mac version 12.0.1
- NDK version 20.1.5948944
编译脚本
#!/bin/sh
# 配置NDK环境,根据自己的ndk路径来
NDK=/Users/vic/Library/Android/sdk/ndk/20.1.5948944
# 编译工具链目录
TOOLCHAIN_ROOT_DIR=darwin-x86_64
# 交叉编译环境
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/$TOOLCHAIN_ROOT_DIR
#android版本
API_64=21
#CPU64位
CPU=armv8-a
#输出目录
PREFIX=$(pwd)/android/$CPU
./configure \
--prefix=$PREFIX \
--enable-small \
--disable-programs \
--disable-avdevice \
--disable-encoders \
--disable-muxers \
--disable-filters \
--enable-shared \
--arch=aarch64 \
--target-os=android \
--enable-cross-compile \
--cc=$TOOLCHAIN/bin/aarch64-linux-android$API_64-clang \
--cxx=$TOOLCHAIN/bin/aarch64-linux-android$API_64-clang++ \
--cross-prefix=$TOOLCHAIN/bin/aarch64-linux-android-
make clean
make -j4
make install
脚本注释已经表明,只需要简单的修改一下即可使用,NDK(R18)以后交叉编译由原来的GCC改成CLANG进行编译,并且无需在使用build.ninja中的配置参数。编译变得更加简洁。
编译成功后经测试是完全可以使用的,附赠编译后的下载链接:
FFMPEG4.4.1-Android-SO库