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編譯環境的方法 http://www.linuxidc.com/Linux/2014-05/101148.htm
Ubuntu 12.04搭建Android開發環境 http://www.linuxidc.com/Linux/2012-09/69961.htm
Ubuntu 14.04 配置 Android SDK 開發環境 http://www.linuxidc.com/Linux/2014-05/101039.htm
64位Ubuntu 11.10下Android開發環境的搭建(JDK+Eclipse+ADT+Android SDK詳細) http://www.linuxidc.com/Linux/2013-06/85303.htm
Ubuntu 12.10 x64 安裝 Android SDK http://www.linuxidc.com/Linux/2013-03/82005.htm
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動態庫
在主目錄下新建文件夾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靜態庫文件。
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-05/102423p2.htm