windows 系统下 android ndk 环境搭建

NDK简介:

NDK: Native Development Kit 的缩写,即 Android 应用本地开发工具包。其实 NDK 早在2011年初就发布了,只不过之前都不曾用到。最近在一个需求开发上要用到这个环境,这里就来详细讲解一下这个环境的搭建过程及编译实例。

NDK主要用途:

我们知道一开始 Android 的应用开发都是用 java 来实现的。NDK的出现可以帮助开发者可以使用C/C++语言来开发android应用中一些算法复杂度高的逻辑部分。另外开发出来的东西保密性更高,不利于反编译,我们知道 java 反编译出来的代码是很容易看懂的,而 C/C++ 的反编译代码相对就难懂得多了。C/C++ 部分的代码最后都会通过 NDK 编译成 .so 库文件与 java 部分的编译结果一起打包成 apk。

NDK环境搭建:

windows系统下搭建NDK开发环境需要准备好两样东西:

1,cgywin 

cgywin 是一个模拟linux环境的工具,里面可以集成 make 编译工具链与 gcc 编译器,主要用于编译 C/C++ 代码。下载地址:http://www.cygwin.com/

2, android ndk

ndk 就是我们讲的本地开发工具包了。下载地址为:http://developer.android.com/tools/sdk/ndk/index.html

安装 cgywin

下载到 setup-x86.exe 文件后,点击安装。出现如下界面时,选择从网络安装


接着选择安装目录(Root directory),

选择安装包备份目录(Local package directory),

直接从网络安装(Direct connection),

选择一个网络站点(Choose a download site),这里最好选择http://mirrors.163.com 或者国内的站点

选择安装包(Select Packages),下面画红线的两个安装包,单击安装包右边的 Default ,变为 Install 状态即可。


点击下一步,一直到安装成功。如果选择创建桌面图标的话,就会多出来一个如下所示的图标:


测试 cygwin 环境

打开cygwin控制台,分别输入 make -v 和 gcc -v ,检查 make 和 gcc 版本,如果安装成功的话,会显示如下所示版本号:


配置 ndk 

cgywin 中设置环境变量,把 ndk 的解压目录配置到 cgywin 的环境变量里面
打开 C:\cygwin\my Cygwin\home\Administrator 目录,下面有一个 .bash_profile 文件,打开此文件,在最后一行补上如下一句话:
ANDROID_NDK_ROOT=/cygdrive/f/android-ndk-r6b export ANDROID_NDK_ROOT
保存,退出。意思是将 “F:/android-ndk-r6b” 这个目录定义为这个字串 ANDROID_NDK_ROOT

测试 ndk 是否配置成功

重启 cgywin 控制台,输入 ndk-build 命令,如果出现如下内容则表示配置成功:

NDK编译实例:

android ndk 目录下面有很多样例,见 F:\android-ndk-r6b\samples, 以 hello-jni 为例,编译之前

cgywin 控制台下,进入到该目录下中的任何一个样例,输入命令 $ANDROID_NDK_ROOT/ndk-build

编译成功,至此可以看下刚才的文件夹下多出了哪些内容:

可以看到多出来了 libs 和 obj 两个目录。

再将这个工程 import 进 eclipse 环境下编译,右键选择 run as android application 就可以编译出来 hellojni.apk 了,手机上就可以看到如下界面了。


至此,搭建NDK环境及编译实例已全部完工。

补充:

如果使用的NDK是r7之前的版本,必须要安装Cygwin才能使用NDK;从r7开始,Google的提供了一个ndk-build.cmd的脚本,可以直接用它编译,而不需要使用Cygwin了。可以通过,配置path变量,直接在cmd下面运行ndk-build命令即可对android工程中的项目进行编译了。
配置path 环境变量,在环境变量中找到 path,在其后添加 C:\android-ndk-r8e 即可。
cmd 控制台输入命令 ndk-build ,即可验证配置成功与否。


下载链接:

参考文献:

http://baike.baidu.com/view/5962708.htm?fr=aladdin
http://blog.csdn.net/com360/article/details/8179130
http://michaelye1988.iteye.com/blog/1740367
http://www.cr173.com/soft/66623.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值