Ubuntu16.04交叉编译Android平台下的x264

匿名 (未验证) 提交于 2019-12-03 00:22:01

一,获取x264源码

使用git下载:

git clone http://git.videolan.org/git/x264.git

官网下载:

历史版本:

官网下载:

android-ndk-r10e-windows-x86.exe

百度网盘下载:

密码:ctv3

下载之后进入到ndk(android-ndk-r10e-linux-x86_64.bin )所在目录,右击打开Teminal命令窗口,逐次执行以下两条命令:
chmod a+x android-ndk-r10c-linux-x86_64.
./android-ndk-r10c-linux-x86_64.bin1

三,编译脚本

如果是编译动态库,先进入到x264目录,修改configure文件。定位到 1500行

这几行,将"libx264.so.$API"替换为"libx264.so",文件名中就不要版本了


#!/bin/bash  if [ -z "$ANDROID_NDK" ]; then  echo "You must define ANDROID_NDK before starting."  echo "They must point to your NDK directories.\n"  exit 1  fi  # Detect OS  OS=`uname`  HOST_ARCH=`uname -m`  export CCACHE=; type ccache >/dev/null 2>&1 && export CCACHE=ccache  if [ $OS == 'Linux' ]; then  export HOST_SYSTEM=linux-$HOST_ARCH  elif [ $OS == 'Darwin' ]; then  export HOST_SYSTEM=darwin-$HOST_ARCH  fi  SOURCE=`pwd`  PREFIX=$SOURCE/build/android  SYSROOT=$ANDROID_NDK/platforms/android-14/arch-arm  CROSS_PREFIX=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/$HOST_SYSTEM/bin/arm-linux-androideabi-  EXTRA_CFLAGS="-march=armv7-a -mfloat-abi=softfp -mfpu=neon -D__ARM_ARCH_7__ -D__ARM_ARCH_7A__"  EXTRA_LDFLAGS="-nostdlib"  ./configure  --prefix=$PREFIX \  --cross-prefix=$CROSS_PREFIX \  --extra-cflags="$EXTRA_CFLAGS" \  --extra-ldflags="$EXTRA_LDFLAGS" \  --enable-pic \  --enable-static \  --enable-strip \  --disable-cli \  --host=arm-linux \  --sysroot=$SYSROOT  make clean  make STRIP= -j4 install || exit 1


注意 :ANDROID_NDK为NDK所在目录,

PREFIX,为编译生成x264目标库文件路径

SYSROOT ,CROSS_PREFIX 为NDK相关路径

可以根据自己电脑配置修改以上变量。



然后修改build_android_arm.sh文件的权限:


sudo chmod a+x build_android.sh

然后执行:

./build_android.sh

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!