ffmpeg3.3 编译 android 系统版本 32位 和64 位 动态库无标题文章

下载ffmpeg最新版本,修改configure文件

diff --git a/configure b/configure

index 23823e3..8e6921a 100755

--- a/configure

+++ b/configure

@@ -3302,10 +3302,17 @@ SLIBPREF="lib"

SLIBSUF=".so"

SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF)'

SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'

-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)'

+# james md start

+SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'

+LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'

+SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'

+SLIB_INSTALL_LINKS='$(SLIBNAME)'

+

+#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)'

+#james md end

VERSION_SCRIPT_POSTPROCESS_CMD="cat"

asflags_filter=echo


创建shell脚本build_android.sh:

#!/bin/bash

#modify those veriable based on your env

#===========================

NDK=/home/lijian/Android/Sdk/ndk-bundle

#32 or 64

archbit=32

#===========================

if [ $archbit -eq 32 ];then

echo "build for 32bit"

#32bit

abi='armeabi'

cpu='arm'

arch='arm'

android='androideabi'

else

#64bit

echo "build for 64bit"

abi='arm64-v8a'

cpu='aarch64'

arch='arm64'

android='android'

fi

SYSROOT=$NDK/platforms/android-24/arch-$arch/

TOOLCHAIN=$NDK/toolchains/$cpu-linux-$android-4.9/prebuilt/linux-x86_64

PREFIX=$(pwd)/android/$cpu

#ADDI_CFLAGS="-marm"

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 \

--enable-yasm \

--cross-prefix=$TOOLCHAIN/bin/$cpu-linux-$android- \

--target-os=linux \

--arch=$cpu \

--enable-cross-compile \

--sysroot=$SYSROOT \

--extra-cflags="-Os -fpic -DANDROID" \

--extra-ldflags="$ADDI_LDFLAGS" \

$ADDITIONAL_CONFIGURE_FLAG

make clean

make

make install

}

build_one

根据自己环境变量以及编译arch为32位还是64位进行相应的修改,运行脚本即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容