ndk编译x264
来源:互联网 发布:leetcode答案 java 编辑:程序博客网 时间:2024/05/16 01:35
1.下载x264源码:
http://www.videolan.org/developers/x264.html
下载后解压x264源码,进入x264源码目录,本测试机的目录是/Users/zwu/Desktop/Job/playengine/x264-snapshot-20160817-2245
2.编辑编译脚本
创建build_android目录并进入该目录
编辑arm平台下的编译脚本
armv7以下的平台现在市面上存量已经逐渐淘汰,这了就不再编译了
编辑armv7a的编译脚本
创建build_android_arm.sh文件并输入
PLATFORM=$ANDROID_NDK/platforms/android-14/arch-arm/
TOOLCHAIN=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
PREFIX=./build/android/armv7a
EXTRA_CFLAGS="-march=armv7-a -mfloat-abi=softfp -mfpu=neon -D__ARM_ARCH_7__ -D__ARM_ARCH_7A__"
EXTRA_LDFLAGS=""
cd ../
function build_one
{
./configure \
--prefix=$PREFIX \
--extra-cflags="$EXTRA_CFLAGS" \
--extra-ldflags="$EXTRA_LDFLAGS" \
--enable-pic \
--enable-static \
--enable-strip \
--disable-cli \
--host=arm-linux \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--sysroot=$PLATFORM
make clean
make
make install
}
build_one
输入完毕后保存并退出;
编辑arm64的编译脚本
创建build_android_arm64-v8a.sh文件并输入
PLATFORM=$ANDROID_NDK/platforms/android-21/arch-arm64/
TOOLCHAIN=$ANDROID_NDK/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64
PREFIX=./build/android/arm64
EXTRA_CFLAGS="-march=armv8-a -D__ANDROID__ -D__ARM_ARCH_8__ -D__ARM_ARCH_8A__"
EXTRA_LDFLAGS=""
cd ../
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-static \
--enable-pic \
--host=aarch64-linux \
--cross-prefix=$TOOLCHAIN/bin/aarch64-linux-android- \
--sysroot=$PLATFORM
make clean
make
make install
}
build_one
输入完毕后保存并退出;
编辑mips平台下的编译脚本
mips 32位,build_android_mips.sh:
PLATFORM=$ANDROID_NDK/platforms/android-18/arch-mips/
TOOLCHAIN=$ANDROID_NDK/toolchains/mipsel-linux-android-4.9/prebuilt/darwin-x86_64
PREFIX=./build/android/mips
cd ../
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-static \
--enable-pic \
--host=mipsel-linux \
--cross-prefix=$TOOLCHAIN/bin/mipsel-linux-android- \
--sysroot=$PLATFORM \
--disable-asm
make clean
make
make install
}
build_one
mips 64位, build_android_mips64.sh
PLATFORM=$NDK/platforms/android-21/arch-arm64/
TOOLCHAIN=$NDK/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64
PREFIX=./build/android/arm64
cd ../
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-static \
--enable-pic \
--host=aarch64-linux \
--cross-prefix=$TOOLCHAIN/bin/aarch64-linux-android- \
--sysroot=$PLATFORM
make clean
make
make install
}
build_one
编辑intel芯片的编译脚本
intel 64位, build_android_x86_64.sh
PLATFORM=$ANDROID_NDK/platforms/android-21/arch-x86_64/
TOOLCHAIN=$ANDROID_NDK/toolchains/x86_64-4.9/prebuilt/darwin-x86_64
PREFIX=./build/android/x86_64
cd ../
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-static \
--enable-pic \
--host=x86_64-linux \
--cross-prefix=$TOOLCHAIN/bin/x86_64-linux-android- \
--sysroot=$PLATFORM
make clean
make
make install
}
build_one
intel 32位, build_android_x86.sh
PLATFORM=$ANDROID_NDK/platforms/android-18/arch-x86/
TOOLCHAIN=$ANDROID_NDK/toolchains/x86-4.9/prebuilt/darwin-x86_64
PREFIX=./build/android/x86
cd ../
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-static \
--enable-pic \
--host=i686-linux \
--cross-prefix=$TOOLCHAIN/bin/i686-linux-android- \
--sysroot=$PLATFORM
make clean
make
make install
}
build_one
编译脚本太多也蛋疼,搞个一键编译脚本
一键编译脚本,build_android_all.sh
export ANDROID_NDK=$NDK_PATH
chmod a+x build_android_*.sh
# Build arm v6 v7a
./build_android_arm.sh
# Build arm64 v8a
./build_android_arm64-v8a.sh
# Build mips
./build_android_mips.sh
# Build mips64
#./build_android_mips64.sh
# Build x86
./build_android_x86.sh
# Build x86_64
./build_android_x86_64.sh
3.一键编译
打开命令行中断进入build_android目录:
chmod a+x build_android_all.sh
./build_android_all.sh
接下来就等待漫长的编译过程吧
编译结束源码目录下出现build目录,生成的lib库就在build/android目录下
- NDK编译x264
- ndk编译x264
- 使用ndk-r4b编译x264
- android ndk 编译ffmpeg+x264
- 使用NDK编译x264库
- android-ndk-r8d 编译 x264 方法
- <android编译ffmpeg+x264+faac> <Android/NDK环境下FFmpeg及AAC,MP3,X264的编译>
- Android(android-ndk-r8b)下编译X264
- ubuntu下编译适合ndk的x264(arm和x86)
- ubuntu下编译适合ndk的x264(arm和x86)
- ubuntu下 android ndk编译x264和ffmpeg
- ubuntu下 android ndk编译x264和ffmpeg
- ffmepg x264 fdk-aac android ndk全CPU编译
- NDK开发——x264、AAC在Linux下编译
- 编译x264
- x264编译
- 编译x264
- x264编译
- Hibernate 常见异常处理
- String.split()用法
- MTK Android操作系统11种传感器介绍
- 【C语言】链表并集与归并
- 欢迎使用CSDN-markdown编辑器
- ndk编译x264
- Java多态性理解
- RSA加密
- Android之Color 颜色过度计算
- 第9周项目4 广义表算法库及应用(1)
- Jenkins插件之CIFS
- 数据结构实验之串二:字符串匹配
- (15)迭代器
- iOS开发中ARC下的assign和weak区别