android编译脚本,Android 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)'

保存之后

在configure 新建脚本 build_ffmpeg_for_android.sh 增加权限 chmod 777 build_ffmpeg_for_android.sh

build_ffmpeg_for_android.sh脚本的内容如下:

#!/bin/bash

LIB_DIR=$(pwd)/Android;

# ffmpeg编译输出前缀

PREFIX=$LIB_DIR/ffmpeg/$CPU

#设置你自己的NDK位置

#NDK_HOME=/Users/superlea/android-ndk-r10e

#设置你自己的平台,这上linux上的,Mac换成darwin-x86_64

#NDK_HOST_PLATFORM=darwin-x86_64

#设置你自己的NDK位置

NDK_HOME=/home/chencl/SoftWare/android-ndk-r13b

NDK_HOST_PLATFORM=linux-x86_64

COMMON_OPTIONS="\

--target-os=android \

--disable-static \

--extra-libs=-lgcc \

--enable-shared \

--enable-small \

--disable-programs \

--disable-ffmpeg \

--disable-ffplay \

--disable-ffprobe \

--disable-doc \

--disable-symver \

--disable-asm \

"

function build_android {

./configure \

--libdir=${PREFIX}/libs/armeabi-v7a \

--incdir=${PREFIX}/includes/armeabi-v7a \

--pkgconfigdir=${PREFIX}/pkgconfig/armeabi-v7a \

--arch=arm \

--cpu=armv7-a \

--cross-prefix="${NDK_HOME}/toolchains/arm-linux-androideabi-4.9/prebuilt/${NDK_HOST_PLATFORM}/bin/arm-linux-androideabi-" \

--sysroot="${NDK_HOME}/platforms/android-19/arch-arm/" \

--extra-cflags="-march=armv7-a -mfloat-abi=softfp -mfpu=neon" \

--extra-ldexeflags=-pie \

${COMMON_OPTIONS}

make clean

make -j8 && make install

./configure \

--libdir=${PREFIX}/libs/arm64-v8a \

--incdir=${PREFIX}/includes/arm64-v8a \

--pkgconfigdir=${PREFIX}/pkgconfig/arm64-v8a \

--arch=aarch64 \

--cpu=armv8-a \

--cross-prefix="${NDK_HOME}/toolchains/aarch64-linux-android-4.9/prebuilt/${NDK_HOST_PLATFORM}/bin/aarch64-linux-android-" \

--sysroot="${NDK_HOME}/platforms/android-21/arch-arm64/" \

--extra-ldexeflags=-pie \

${COMMON_OPTIONS}

make clean

make -j8 && make install

./configure \

--libdir=${PREFIX}/libs/x86 \

--incdir=${PREFIX}/includes/x86 \

--pkgconfigdir=${PREFIX}/pkgconfig/x86 \

--arch=x86 \

--cpu=i686 \

--cross-prefix="${NDK_HOME}/toolchains/x86-4.9/prebuilt/${NDK_HOST_PLATFORM}/bin/i686-linux-android-" \

--sysroot="${NDK_HOME}/platforms/android-19/arch-x86/" \

--extra-ldexeflags=-pie \

${COMMON_OPTIONS}

make clean

make -j8 && make install

./configure \

--libdir=${PREFIX}/libs/x86_64 \

--incdir=${PREFIX}/includes/x86_64 \

--pkgconfigdir=${PREFIX}/pkgconfig/x86_64 \

--arch=x86_64 \

--cpu=x86_64 \

--cross-prefix="${NDK_HOME}/toolchains/x86_64-4.9/prebuilt/${NDK_HOST_PLATFORM}/bin/x86_64-linux-android-" \

--sysroot="${NDK_HOME}/platforms/android-21/arch-x86_64/" \

--extra-ldexeflags=-pie \

${COMMON_OPTIONS}

make clean

make -j8 && make install

};

build_android

在跟补录运行 build_ffmpeg_for_android.sh 耗时较长

之后生成的有 Android文件夹,查看Android文件夹(Android文件夹加锁  执行sudo chmod 777 -R  Android/ )

目录结构如下:

其中 libs 文件为各个平台的下的支持库.

├── includes #头文件

│   ├── arm64-v8a

│   ├── armeabi-v7a

│   ├── x86

│   └── x86_64

├── libs #库文件

│   ├── arm64-v8a

│   │   ├── libavcodec.so

│   │   ├── libavdevice.so

│   │   ├── libavfilter.so

│   │   ├── libavformat.so

│   │   ├── libavutil.so

│   │   ├── libswresample.so

│   │   └── libswscale.so

│   ├── armeabi-v7a

│   │   ├── libavcodec.so

│   │   ├── libavdevice.so

│   │   ├── libavfilter.so

│   │   ├── libavformat.so

│   │   ├── libavutil.so

│   │   ├── libswresample.so

│   │   └── libswscale.so

│   ├── x86

│   │   ├── libavcodec.so

│   │   ├── libavdevice.so

│   │   ├── libavfilter.so

│   │   ├── libavformat.so

│   │   ├── libavutil.so

│   │   ├── libswresample.so

│   │   └── libswscale.so

│   └── x86_64

│   ├── libavcodec.so

│   ├── libavdevice.so

│   ├── libavfilter.so

│   ├── libavformat.so

│   ├── libavutil.so

│   ├── libswresample.so

│   └── libswscale.so

└── pkgconfig

├── arm64-v8a

├── armeabi-v7a

├── x86

└── x86_64

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值