Bootstrap

FFmpeg 引入Android Studio,2024年您应该知道的技术之一

后续也会通过最新的NDK版本、Clang来编译FFmpeg

那既然源码已经下下来了,接下来我们还差一个编译工具——NDK

NDK环境配置

===================================================================

因为在NDK源文件里面会有很多关于C的编译工具,我们必须用NDK的编译工具而不能用Linux的编译工具,我们把这种编译就称为交叉编译。

再回到云服务器,我们需要下载一个NDK,大家下载的时候可以选择NDKr20,我们将用这个版本去编译

然后我们还要对NDK进行环境配置

mkdir ndk 创建一个NDK目录

这里推荐大家买服务器最好是选择香港的服务器,因为香港的服器下载这些国外的软件是非常快的,比如我这台服务器的,实际上它就是一个香港服务器

然后我们使用wget命令,就可以把NDK下载下来了。NDK相对来说还是比较大的,但因为香港服务器的缘故,下载还是非常快的

下载完后,使用zip命令将下载的文件解压

unzip,解压的时间可能会有点长,根据每个服务器的配置不一样,解压的时间长短也会不一样

解压完成后我们再去配置NDK环境,这个配置环境和Windows还是有些不一样的,在Windows中我们直接在我的电脑中就可以配置到,但是在Linux里面,它是不一样的,我们需要去编辑etc/profile

在最底部加上我们的环境,我们设定一个NDK ROOT,把它加到PATH路径里面去

然后再退出,让环境生效

到目前,我们NDK的环境就已经配好了,这个时候我们需要编译FFmpeg就需要用到shell脚本

shell脚本

===================================================================

shell脚本它专门是针对于Linux里面,进行编译的语法,类似于Java语法

说到这里,shell语法我们要不要学呢?

学肯定是需要的,但我们只需要大概去了解这个shell脚本怎么去写,就已经可以满足我们这个系列文章里面所要掌握的内容

我们来看这个编写脚本里面内容,脚本的作用是将FFmpeg源码打包成我们在Android里面想要用到的.so文件,或者说.a静态库文件,供我们在Android项目里面去调用

在FFmpeg源文件夹下去建立一个android_build.sh

直接copy下面代码进去

#!/bin/bash

export NDK=/root/ndk/android-ndk-r20

当前系统

export HOST_TAG=linux-x86_64

支持的 Android CUP 架构

export ARCH=aarch64

export CPU=armv8-a

export ARCH=armv7a

export CPU=armv7-a

支持的 Android 最低系统版本

export MIN=21

export ANDROID_NDK_PLATFORM=android-21

export PREFIX= ( p w d ) / a n d r o i d / (pwd)/android/ (pwd)/android/CPU

export MIN_PLATFORM= N D K / p l a t f o r m s / a n d r o i d

;