编译环境
Mac电脑
编译步骤
- x264下载地址
- 使用cd指令进入x264的文件路径,运行如下指令,检查电脑环境配置
./configure --disable-asm
- 编写脚本文件(build_android.sh),NDK建议使用r10版本,新版本的NDK使用的是clang编译,很多脚本不能使用
touch build_android.sh
chmod u+x build_android.sh
vim build_android.sh
脚本文件内容如下
#!/bin/bash
export ANDROID_NDK_HOME=/Users/kitzzz/Library/Android/android-ndk-r10e
export PLATFORM_VERSION=android-9
function build_x264
{
./configure --prefix=$PREFIX \
--enable-shared \
--enable-debug \
--disable-asm \
--host=$HOST \
--enable-pic \
--cross-prefix=$CROSS_COMPILE \
--sysroot=$PLATFORM \
--extra-cflags="$CFALGS -Os -fPIC -DANDROID -Wfatal-errors -Wno-deprecated" \
make clean
make
make install
}
#arm
ARCH=arm
CPU=arm
HOST="arm-linux"
PREFIX=$(pwd)/android/$CPU
TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
CROSS_COMPILE=$TOOLCHAIN/bin/arm-linux-androideabi-
PLATFORM=$ANDROID_NDK_HOME/platforms/$PLATFORM_VERSION/arch-$ARCH/
CFALGS="-march=armv5te"
build_x264
# #arm-v7a
# ARCH=arm
# CPU=arm-v7a
# HOST="arm-linux"
# PREFIX=$(pwd)/android/$CPU
# TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
# CROSS_COMPILE=$TOOLCHAIN/bin/arm-linux-androideabi-
# PLATFORM=$ANDROID_NDK_HOME/platforms/$PLATFORM_VERSION/arch-$ARCH/
# CFALGS="-march=armv7-a -mfloat-abi=softfp -mfpu=neon"
# build_x264
# #x86
# ARCH=x86
# CPU=x86
# HOST="i686-linux"
# PREFIX=$(pwd)/android/$CPU
# TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/x86-4.9/prebuilt/darwin-x86_64
# CROSS_COMPILE=$TOOLCHAIN/bin/i686-linux-android-
# PLATFORM=$ANDROID_NDK_HOME/platforms/$PLATFORM_VERSION/arch-$ARCH/
# CFALGS="-march=i686 -mtune=intel -mssse3 -mfpmath=sse -m32"
# build_x264
# #arm64-v8a
# ARCH=arm64
# CPU=arm64-v8a
# HOST="aarch64-linux"
# PREFIX=$(pwd)/android/$CPU
# TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64
# CROSS_COMPILE=$TOOLCHAIN/bin/aarch64-linux-android-
# PLATFORM=$ANDROID_NDK_HOME/platforms/android-21/arch-$ARCH/
# CFALGS="-march=armv8-a"
# build_x264
# #x86_64
# ARCH=x86_64
# CPU=x86_64
# HOST="x86_64-linux"
# PREFIX=$(pwd)/android/$CPU
# TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/x86_64-4.9/prebuilt/darwin-x86_64
# CROSS_COMPILE=$TOOLCHAIN/bin/x86_64-linux-android-
# PLATFORM=$ANDROID_NDK_HOME/platforms/android-21/arch-$ARCH/
# CFALGS="-march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel"
# build_x264
编译运行
./build_android.sh