ffmpeg3.3 编译 android 系统版本 32位 和64 位 动态库
2017-06-02 10:57
351 查看
下载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位进行相应的修改,运行脚本即可。
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位进行相应的修改,运行脚本即可。
相关文章推荐
- mac编译Android版本ffmpeg的x86_64架构库
- 32位机器Ubuntu系统编译android 内核注意修改成64位
- Ubuntu10.04系统 32位机上安装编译Android2.3源码
- ubuntu 11.10(32位系统)下编译android源码 make错误解决办法
- 在64位Linux系统交叉编译32位软件:ffmpeg
- android(全志A10 4.0.4)版本系统编译说明.pdf
- Ubuntu 10.04系统 32位机上安装编译Android2.3源码
- Android 编译系统 --- 版本信息
- windows系统下编译最新版本ffmpeg
- ubuntu 11.10(32位系统)下编译android源码
- ubuntu 11.10(32位系统)下编译android源码
- 32位系统也能编译android2.3.4
- Ubuntu10.04系统 32位机上安装编译Android2.3源码
- 在32位的Ubuntu 11.04中为Android NDK r6编译FFmpeg0.8.1版-Android中使用FFmpeg媒体库(一)
- 32位机器Ubuntu系统编译android 内核注意修改点
- 关于android2.3 64位和32位系统编译
- 在32位的Ubuntu 11.04中为Android NDK r6编译FFmpeg0.8.1版-Android中使用FFmpeg媒体库(一)
- 在Ubuntu 10.04系统 32位机上安装编译Android2.3源码
- ubuntu 11.10(32位系统)下编译android源码
- 利用源码编译Android系统JNI动态库