源码下载:
然后执行以下脚本:
powershell
#!/bin/bash
# 设置NDK路径,根据你的实际安装路径修改
NDK_PATH=/mnt/c/Users/Administrator/ubuntu_dev/ndk/android-ndk-r21e
# 设置目标平台和ABI版本,可以根据实际情况修改 aarch64-linux-android armv7a-linux-androideabi
TARGET=aarch64-linux-android
API_LEVEL=21
# 设置x265源码路径
X265_SOURCE_PATH=./
# 设置输出目录
OUTPUT_DIR=android/x265_64
# 进入x265源码目录
cd $X265_SOURCE_PATH
# 清理之前的编译结果
make clean
# 设置交叉编译环境变量
export CC=$NDK_PATH/toolchains/llvm/prebuilt/linux-x86_64/bin/$TARGET$API_LEVEL-clang
export CXX=$NDK_PATH/toolchains/llvm/prebuilt/linux-x86_64/bin/$TARGET$API_LEVEL-clang++
# 创建输出目录
mkdir -p $OUTPUT_DIR
# 使用CMake配置
cmake \
-DENABLE_SHARED:bool=off \
-DENABLE_CLI:bool=off \
-DCMAKE_SYSTEM_NAME=Android \
-DCMAKE_ANDROID_ARCH_ABI=$TARGET \
-DCMAKE_ANDROID_NDK=$NDK_PATH \
-DCMAKE_ANDROID_API=$API_LEVEL \
-DCMAKE_ANDROID_STL_TYPE=c++_shared \
-DCMAKE_INSTALL_PREFIX=$OUTPUT_DIR \
.
# 编译x265
make -j8
# 安装(拷贝)编译好的库文件到输出目录
make install
echo "编译完成,输出目录:$OUTPUT_DIR"
替换掉上面的目标平台,输出目录,源码路径,ndk路径等信息即可自己编译出android平台下的x265库。
命令与上一篇文章大同小异,可以参考上一篇使用Ubuntu编译FFmpeg生成Android动态库/静态库