#!/bin/bash
NDK=/usr/tools/android-ndk-r20
API=21
ARCH=arm
TARGET=linux-androideabi
CPU=armv7-a
ARCH=arm
HOST=arm-linux
SYSROOT=
N
D
K
/
t
o
o
l
c
h
a
i
n
s
/
l
l
v
m
/
p
r
e
b
u
i
l
t
/
l
i
n
u
x
−
x
8
6
6
4
/
s
y
s
r
o
o
t
T
O
O
L
C
H
A
I
N
=
NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot TOOLCHAIN=
NDK/toolchains/llvm/prebuilt/linux−x8664/sysrootTOOLCHAIN=NDK/toolchains/llvm/prebuilt/linux-x86_64/bin
CPU=armv7-a
PREFIX=$(pwd)/android/armv7-a
ADDI_LDFLAGS="-fPIE -pie"
ADDI_CFLAGS="-fPIE -pie -march=armv7-a -mfloat-abi=softfp -mfpu=neon"
configure()
{
./configure \
--prefix=$PREFIX \
–cc= T O O L C H A I N / a r m v 7 a − TOOLCHAIN/armv7a- TOOLCHAIN/armv7a−TARGET$API-clang \
–cxx= T O O L C H A I N / a r m v 7 a − TOOLCHAIN/armv7a- TOOLCHAIN/armv7a−TARGET$API-clang++ \
--strip=$TOOLCHAIN/arm-linux-androideabi-strip \
--target-os=android \
--arch=$ARCH \
--sysroot=$SYSROOT \
--extra-cflags="$ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
--extra-cflags="-I$x264/include" \
--extra-ldflags="-L$x264/lib" \
#添加系统库支持刚开始没有这句运行报错找不到( java.lang.UnsatisfiedLinkError: dlopen failed: library "libclang_rt.ubsan_standalone_android.so" )
–extra-ldflags="-L$NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot" \
--disable-static \
--enable-shared \
--enable-cross-compile \
--disable-encoders \
--disable-decoders \
--disable-avdevice \
--disable-doc \
--disable-ffplay \
--disable-network \
--disable-doc \
--disable-symver \
--disable-ffprobe \
--enable-gpl \
--enable-neon \
-disable-libx264 \
--enable-gpl \
--enable-pic \
--enable-jni \
--enable-pthreads \
--enable-mediacodec \
--enable-encoder=aac \
--enable-encoder=gif \
--enable-encoder=libopenjpeg \
--enable-encoder=libmp3lame \
--enable-encoder=libwavpack \
--disable-encoder=libx264 \
--enable-encoder=mpeg4 \
--enable-encoder=pcm_s16le \
--enable-encoder=png \
--enable-encoder=mjpeg \
--enable-encoder=srt \
--enable-encoder=subrip \
--enable-encoder=yuv4 \
--enable-encoder=text \
--enable-decoder=aac \
--enable-decoder=aac_latm \
--enable-decoder=mp3 \
--enable-decoder=mpeg4_mediacodec \
--enable-decoder=pcm_s16le \
--enable-decoder=flac \
--enable-decoder=flv \
--enable-decoder=gif \
--enable-decoder=png \
--enable-decoder=srt \
--enable-decoder=xsub \
--enable-decoder=yuv4 \
--enable-decoder=vp8_mediacodec \
--enable-decoder=h264_mediacodec \
--enable-decoder=hevc_mediacodec \
--enable-bsf=aac_adtstoasc \
--enable-bsf=h264_mp4toannexb \
--enable-bsf=hevc_mp4toannexb \
--enable-bsf=mpeg4_unpack_bframes
}
build()
{
configure
make clean
make -j4
make install
}
build
参考链接:https://www.cnblogs.com/fgodt/p/ffmpegforndk.html
参考链接:https://www.cnblogs.com/fgodt/p/ffmpegforndk.html