FFmpeg 2.8.4 移植到android平台(二)
16lz
2021-01-26
上一篇移植过程太过复杂,又发现了一种简单的方法。移植前准备:见http://blog.csdn.net/niuzhucedenglu/article/details/50524266 前三部。
移植步骤:
1.将ffmpeg解压到NDK的sources目录下(如:/home/lfn/software/android/android-ndk-r9d/sources);2.修改configure文件:将ffmpeg源码中的的configure中的
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)'
修改为:
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'SLIB_INSTALL_LINKS='$(SLIBNAME)'
3.在ffmpeg目录下创建名称为build_android.sh的脚本,其内容如下:
#!/bin/bashNDK=$HOME/Desktop/adt/android-ndk-r9SYSROOT=$NDK/platforms/android-9/arch-arm/TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64function 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_FLAGmake cleanmakemake install}CPU=armPREFIX=$(pwd)/android/$CPU ADDI_CFLAGS="-marm"build_one
4.修改脚本权限sudo chmod +x build_android.sh5.执行脚本:./build_android.sh6.等待一段时间后,ffmpeg目录下会多出一个目录android,so文件及其他文件都在里面。
更多相关文章
- ejoy2d源代码阅读之一(启动流程)
- 搬砖:深入浅出 - Android系统移植与平台开发(五)- 编译Android源码(
- 修改Android模拟器的system分区,以及加入SuperSU
- [Android6.0]App中调用init.rc中的服务,从而运行shell脚本
- Android(安卓)Camera移植
- android修改头像以及上传头像
- 使用 Android(安卓)studio的相关配置
- XDebuggable&mprop代码分析
- Android列表组件ListView使用详解之动态加载或修改列表数据