码迷,mamicode.com
首页 > 其他好文 > 详细

64位 CentOS NDK 编译 FFMPEG

时间:2015-08-04 13:05:41      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:

Android NDK 是运行于Android 平台上的Native Development Kit 的缩写。Android 应用开发者可以通过NDK 调用C 或C++ 本地代码。

NDK的作用:

  1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。
  2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的。
  3. 便于移植,用C/C++写得库可以方便在其他的嵌入式平台上再次使用。

下面是NDK的安装配置过程。

环境:Ubuntu10.10(NDK只能在Linux下安装) 已安装好Android开发环境。

1.下载

国内无法访问到google的相关页面,但可以直接通过下面的地址下载。

http://dl.google.com/android/ndk/android-ndk-r8b-linux-x86.tar.bz2

下载地址:http://www.cnblogs.com/yaotong/archive/2011/01/25/1943615.html

2.解压

个人习惯把东西放在 /usr/local/lib文件夹下面。

要用到的命令:

//复制文件  
cp android-ndk-r8b-linux-x86.tar.bz2 /usr/local/lib  
//解压文件  
tar jxvf android-ndk-r8b-linux-x86.tar.bz2  
//修改权限  
chmod 777 android-ndk-r8b -R 

3.修改环境变量

终端运行:gedit  ~/.bashrc

将下面的语句加入

#NDK setting  
NDK_ROOT=/usr/local/lib/android-ndk-r8b  
export NDK_ROOT 

保存,终端运行:source ~/.bashrc

使之立即生效。

在终端运行:echo $NDK_ROOT

若正确打印了NDK的路径,说明环境变量修改成功。

4.测试

cd 进入android-ndk-r8b/samples/hello-jni,然后在终端运行ndk的编译脚本:

sudo /usr/local/lib/android-ndk-r8b/ndk-build 

若结果如下图,则ndk安装成功。

 

 

 

 

 

 

 

 

 

 

./configure --prefix=/zwjinfo/ffmpeg/dist --enable-cross-compile --enable-static --enable-shared --enable-gpl  --disable-encoders 

--disable-muxers --disable-filters --arch=arm --cpu=armv7-a 

--enable-memalign-hack --disable-symver --enable-asm --enable-neon --cross-prefix=/zwjinfo/ndkr10/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi- 

--sysroot=/zwjinfo/ndkr10/android-ndk-r10/platforms/android-L/arch-arm --sysinclude=/zwjinfo/ndkr10/android-ndk-r10/platforms/android-L/arch-arm --disable-debug --target-os=linux --extra-cflags=‘-mfloat-abi=softfp -O3 -mfpu=vfpv3-d16 -marm -mthumb‘ --disable-doc 

--disable-yasm --enable-pic --enable-small --enable-hardcoded-tables --extra-ldflags=‘-Wl,--fix-cortex-a8 -mthumb‘-march=armv7-a -mfpu=vfpv3-d16 -Os -Ox -mfloat-abi=softfp -mthumb

 

./configure --prefix=/zwjinfo/ffmpeg/android/arm --enable-shared --disable-static --disable-doc --disable-ffserver --enable-cross-compile --cross-prefix=/zwjinfo/ndkr10/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi- --target-os=linux --arch=arm --sysroot=/zwjinfo/ndkr10/android-ndk-r10/platforms/android-L/arch-arm/ --extra-cflags=‘-Os -fpic -marm‘ --extra-ldflags=

 

 

 

./configure --prefix=/zwjinfo/ffmpeg/dist --enable-cross-compile --enable-static --enable-shared --enable-gpl  --disable-encoders --disable-muxers --disable-filters --arch=arm --cpu=armv7-a --enable-memalign-hack --disable-symver --enable-asm --enable-neon --cross-prefix=/zwjinfo/ndkr10/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi- --sysroot=/zwjinfo/ndkr10/android-ndk-r10/platforms/android-L/arch-arm --sysinclude=/zwjinfo/ndkr10/android-ndk-r10/platforms/android-L/arch-arm --disable-debug --target-os=linux --extra-cflags=‘-mfloat-abi=softfp -O3 -mfpu=vfpv3-d16 -marm -mthumb‘ --disable-doc --disable-yasm --enable-pic --enable-small --enable-hardcoded-tables --extra-ldflags=‘-Wl,--fix-cortex-a8 -mthumb‘
-march=armv7-a -mfpu=vfpv3-d16 -Os -Ox -mfloat-abi=softfp -mthumb

 

64位 CentOS NDK 编译 FFMPEG

标签:

原文地址:http://www.cnblogs.com/zwj911112/p/4701468.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!