本人在linux下编译。

下载ndk

官方下载地址

这里推荐用 linux指令下载 wget 命令

wget 目标URL地址 

下载后解压

这里写图片描述

配置NDK环境变量

这一步其实可以省略
运行如下命令:
1. vim /etc/profile
2. 在最后添加如下代码

NDKROOT=/home/fmy/android-ndk-r14b(你NDK的目录)
export PATH=$NDKROOT:$PATH

3. 更新环境变量,使刚刚添加的环境生效

source /etc/profile

安装yasm

汇编编译器
在执行脚本的时候会用到

执行下面命令

apt install yasm

下载x264库

官方链接
解压到linux服务器上

编写编译脚本

脚本名:build_android.sh
位置:x264 解压后目录下

脚本使用方法:
ANDROID_NDK :你NDK目录地址
SDK_VERSION: 你NDK使用的交叉编译版本
ARCH:你想编译的版本库
PREFIX:生产的库文件地址

#!/bin/sh
ANDROID_NDK="/home/fmy/android-ndk-r14b"
SDK_VERSION=21
#ARCH=arm64
ARCH=arm

if [ "$ARCH" = "arm64" ]
then
    PLATFORM_PREFIX="aarch64-linux-android-"
    HOST="aarch64"
    PLATFORM_VERSION=4.9
else
    PLATFORM_PREFIX="arm-linux-androideabi-"
    HOST="arm"
    PLATFORM_VERSION=4.9
fi

PREFIX=$(pwd)/android/${ARCH}
SYSROOT=$ANDROID_NDK/platforms/android-${SDK_VERSION}/arch-${ARCH}
TOOLCHAIN=$ANDROID_NDK/toolchains/${PLATFORM_PREFIX}${PLATFORM_VERSION}/prebuilt/linux-x86_64
CROSS_PREFIX=$TOOLCHAIN/bin/${PLATFORM_PREFIX}


./configure \
    --prefix=$PREFIX \
    --cross-prefix=$CROSS_PREFIX \
    --sysroot=$SYSROOT \
    --enable-static \
    --enable-pic \
    --disable-asm \
    --host=arm-linux \

make 
make install

修改文件执行权限

修改NDK目录 和X264解压目录执行权限
切换到两个目录下 执行如下命令 (每个目录执行一次)

chmod 777 -R *

执行脚本

./build_android 即可
生产的文件在你设置的PREFIX属性下

参考文献

参考文献1 (本人编译作者提供的脚本发现报错自行修改了)

Logo

更多推荐