我尝试了许多有关构建 ffmpeg 库的示例,但暂时失败了。我检查了我的路径并编辑了一些代码行。我不明白我的 build_android 脚本有什么问题。我在 ffmpeg 文件夹中设置了 build_android.sh。并编辑了配置文件。我在ubuntu上运行这个。我的 ffmpeg 版本是 4.3.1 。这是我的文件。请我为此苦苦挣扎了2周...
配置
Original
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
Modified
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'
build_android.shNDK=/home/ckdrb/Android/sdk/ndk/21.3.6528147
SYSROOT=$NDK/platforms/android-16/arch-arm
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
CPU=arm
ISYSROOT=$NDK/sysroot
ASM=$ISYSROOT/usr/include/arm-linux-androideabi
PREFIX=$(pwd)/android/$CPU
function build_android
{
./configure \
--target-os=linux \
--prefix=$PREFIX \
--enable-cross-compile \
--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- \
--arch=arm \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_CFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
ADDI_CFLAGS="-marm"
build_android
错误信息最佳答案
使用两种方法解决了这个问题。
首先是删除 disable-ffserver。
二是安装sudo apt-get install yasm
关于android - 如何在 android 中为 ffmpeg 库制作 build_script?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63242336/