1.下载ffmpeg的源代码

2.新建脚本编译文件build_android.sh,如果要编译其他cpu格式,修改cpu处的赋值即可

#!/bin/bashmake clean# NDK的路径,根据自己的安装位置进行设置export NDK=/home/gjh/android-ndk-r10eSYSROOT=$NDK/platforms/android-19/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=armPREFIX=$(pwd)/android/$CPUADDI_CFLAGS="-marm"build_one

3.修改源代码中的configure文件,目的是为了后续脚本生成带so文件的编译二进制文件

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.利用命令行安装编译文件和dos2unix文件,并修改编译脚本和configure的权限,依次打入下列的代码即可

sudo apt-get install bison gcc-multilib g++-multilibsudo apt install dos2unixchmod +x ./build_android.shchmod +x ./configuredos2unix ./build_android.shdos2unix ./configure

4.执行脚本编译文件,如果没有执行第三步直接跑的话可能会在命令行中找不到这个脚本文件或者执行无效。照例在命令行中依次执行下面3行代码,当然有些脚本直接在脚本文件后全执行了还加上多线程,这个自己看着办。

 ./build_android.shmake make install

5.执行结束后,如果能在ffmepg源代码文件夹中看到android文件夹就算编辑成功了。

如果在第四部中报了下面的异常也没关系,不影响最终的编译结果。

arm-linux-androideabi-pkg-config not found

 

更多相关文章

  1. android保存文件到sd卡,读取和清空记录功能(可以用来保存用户名和
  2. 在AMD64 位ubuntu8上android source code compile 过程
  3. Android-->AndroidManifest.xml 文件
  4. Unable to get buffer of resource asset file
  5. Android用户界面优化-Android(安卓)SlidingMenu菜单栏程序设计开
  6. Android(安卓)studio aar文件的打包过程和使用方法
  7. 使用Adobe Flash Builder Burrito创建AIR For Google Android应
  8. eclipse下开发android应用的几个常用插件
  9. Android学习之反编译工具介绍

随机推荐

  1. 把手机变成鼠标和触摸板,附android/iphone
  2. Android学习之 那些让我生疏的配置属性
  3. Android中新建的文件在R没有显示对应的文
  4. Galaxy S II vs HTC Sensation XE vs 小
  5. android正在运行进程和后台缓存进程的区
  6. Android开发者选项中,这29个功能你忽略了
  7. Android用户权限之记录是否调起弹窗
  8. Android(安卓)Architecture Components(六
  9. Android(安卓)OpenGL ES 简明开发教程三:3
  10. android中生成excel