Ubuntu 14.04 Build FFmpeg with ndk for Android

来源:互联网 发布:衬衣有哪些面料知乎 编辑:程序博客网 时间:2024/05/01 05:24

Requirement
install NDK

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

Create a mybuild.sh file under ffmpeg folder 可參考下面修改
_
1. NDK
2. SYSROOT
3. TOOLCHAIN

三者依照使用者做修改
_

#!/bin/bashNDK=/home/cmake/Android/Sdk/ndk-bundleSYSROOT=$NDK/platforms/android-15/arch-arm/TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64function ()build_one{./configure \--prefix=$PREFIX \--disable-shared \--enable-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 cleanmake -jmake install}CPU=armPREFIX=$(pwd)/android/$CPUADDI_CFLAGS="-marm"build_one

使用SH指令時

sudo sh mybuild.sh

Bug Bash script error: “function: not found”. Why would this appear?
補上() 就可以避免

function ()build_one  {...}

使用bash指令時

sudo ./mybuild.sh

PREFIX =為輸出路徑

IMPORTANT

每次編譯後需複製config.h 之後移植需要使用

0 0
原创粉丝点击