我已经按照教程roman10进行了编译,结果很好。但我有.so文件除了ffmpeg.so之外的所有东西(或者在一些例子中我把它看作libffmpeg.so)。所以我不知道该怎么做。我是否需要更改配置选项?我正在使用以下配置选项:
#!/bin/bash
NDK=$HOME/Desktop/adt/android-ndk-r9
SYSROOT=$NDK/platforms/android-9/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-avdevice \
--disable-doc \
--disable-symver \
--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
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one
我是否需要libffmpeg.so才能调用命令行参数?
答案 0 :(得分:4)
使用“--disable-ffmpeg”你实际上是在告诉它不要编译你正在寻找的位。它不会编译ffmpeg.c,只是你指定的东西。您可以直接使用libav *库(好吧,您需要创建一个jni包装器...),但如果您想要ffmpeg位,可以使用命令行参数调用,然后删除该行。