基于源码编译
1、基于上一篇日志,检查编译环境
下载NDK
wget https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip
并解压
unzip android-ndk-r14b-linux-x86_64.zip -d ./android-ndk-r14b-linux-x86_64
2、下载源码,解压
wget http://ffmpeg.org/releases/ffmpeg-3.3.1.tar.bz2
tar -xvf ffmpeg-3.3.1.tar.bz2
3、修改configure
diff --git a/configure b/configure
index 9b5789a..1c9a812 100755
--- a/configure
+++ b/configure
@@ -3302,10 +3302,13 @@ SLIBPREF="lib"
SLIBSUF=".so"
SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF)'
SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'
-SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
+#SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
+SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
-SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
-SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
+#SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
+SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
+#SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
+SLIB_INSTALL_LINKS='$(SLIBNAME)'
VERSION_SCRIPT_POSTPROCESS_CMD="cat"
asflags_filter=echo
4、编辑build_android.sh(注意清空脚本每一行结尾的空格键)
#!/bin/bash
NDK=/home/thinking/Downloads/android-ndk-r14b-linux-x86_64/android-ndk-r14b/
SYSROOT=$NDK/platforms/android-24/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffserver \
--enable-cross-compile \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=linux \
--arch=arm \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one
make && make install
5、执行build_android.sh
chmod +x build_android.sh
./build_android.sh
6、编译结果如下