将x264移植到Android

x264的版本是:x264-snapshot-20131228-2245
 
NDK的版本:Android-ndk-r8b
 
虚拟机VMware9.0.2,Ubuntu12.04,
 
Linux环境下开发需要进行环境变量配置。Linux环境下主要用于x264/ffmpeg使用ndk编译成动态库文件。至于使用Eclipse可以在Linux环境或者Windows环境下。环境配置主要是为了编译动态库使用的,与Eclipse开发无关。

Ubuntu 14.04 x64配置Android 4.4 kitkat编译环境的方法

Ubuntu 12.04搭建Android开发环境

Ubuntu 14.04 配置 Android SDK 开发环境

64位Ubuntu 11.10下Android开发环境的搭建(JDK+Eclipse+ADT+Android SDK详细)

Ubuntu 12.10 x64 安装 Android SDK
 
Linux环境下,下载好上面的软件之后,进行如下配置:
 
一、终端输入:gedit ~/.bashrc
 
二、打开的脚本文件最后输入下面两行命令:
 
export NDK_HOME=/home/huaguanglu/src/android-ndk-r8b
 
export PATH=$PATH:$NDK_HOME
 
三、终端输入:gedit /etc/profile
 
四、打开的脚本文件最后输入下面两行命令:
 
#set arm-linux-androideabi-gcc
 
export
 
ARM_LINUX_ANDROIDEABI_GCC=/home/huaguanglu/src/android-ndk-r8b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin
 
export PATH=$ARM_LINUX_ANDROIDEABI_GCC:$PATH
 
可以将上面的命令直接复制使用,注意改一下用户名,即标蓝色的地方。
 
测试一下ndk可不可以使用。终端到ndk的samples/hello-jni/jni目录下,输入ndk-build。如图:
 
如果生成so文件,则说明ndk环境配置成功。
 

将x264移植到Android

编译x264动态库

在主目录下新建文件夹bysj,x264代码放在~/bysj/目录下,在目录~/bysj/x264-snapshot-20131228-2245/下,新建脚本文件myconfig.sh.其代码为: 

export ARM_ROOT=/home/huaguanglu/bysj/android-ndk-r8b
 
export ARM_INC=$ARM_ROOT/platforms/android-8/arch-arm/usr/include/
 
export ARM_LIB=$ARM_ROOT/platforms/android-8/arch-arm/usr/lib/
 
export ARM_TOOL=$ARM_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86
 
export ARM_LIBO=$ARM_TOOL/lib/gcc/arm-linux-androideabi/4.4.3
 
export PATH=$ARM_TOOL/bin:$PATH
 
export ARM_PRE=arm-linux-androideabi
 
./configure --disable-gpac --extra-cflags=" -I$ARM_INC -fPIC -DANDROID -fpic -mthumb-interwork -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__  -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID  -Wa,--noexecstack -MMD -MP " --extra-ldflags="-nostdlib -Bdynamic -Wl,--no-undefined -Wl,-z,noexecstack  -Wl,-z,nocopyreloc -Wl,-soname,/system/lib/libz.so -Wl,-rpath-link=$ARM_LIB,-dynamic-linker=/system/bin/linker -L$ARM_LIB -nostdlib $ARM_LIB/crtbegin_dynamic.o $ARM_LIB/crtend_android.o -lc -lm -ldl -lgcc" --cross-prefix=${ARM_PRE}- --disable-asm --host=arm-linux --disable-shared

将上面代码复制到myconfig.sh中,终端到~/bysj/x264-snapshot-20131228-2245/目录下,输入命令:./myconfig.sh运行。运行完了之后,输入make。就会在当前目录下生成libx264.a静态库文件。

将x264移植到Android

将x264移植到Android

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/dc18fd7ee8f8f8915d44d1fb92e3d994.html