没有合适的资源?快使用搜索试试~ 我知道了~
首页配置NDK集成eclipse使用hello-jni实例
资源详情
资源评论
资源推荐

一、 什么是 NDK?为什么要用它?
比较简单的说,NDK 是一套交叉编译工具,它可以帮你把你用 C 或 C++书写的代
码,编译为.so(类似与 win 下的.dll)格式的文件,使你可以在你的 Android 程序当中
用 Java 语言(JNI)调用这些代码
当你想在 Java 中调用你的 C、C++代码时你就可以用它(废话?),那么什么时候
你可能考虑使用 C、C++代码呢?比如说,你原来用 C、C++写过一个游戏程序,里边
有你大量的封装好的游戏业务逻辑、算法等代码,你现在想把这个游戏移植到 Android
上去,怎么办?难道这些业务逻辑、算法要全部用 Java 重写一遍嘛?现在有了 NDK,
不用了,你可以直接编译移植这代码了,所以说如果你有代码复用需求的时候,你就
可以用它。
再举一个例子,比如说你现在用 Android 手机的摄像头采集图片信息,采集后的图
片你使用 Java 书写了一个压缩算法进行压缩操作,这个算法非常的耗时,耗费 CPU,效
果很不理想。这时你就可以尝试采用 C 来书写这个压缩算法,这时你就可能发现,改
用 C 代码执行后,效率提高了几倍乃至十几倍。当你的客户对程序的性能、速度要求
比较高的时候,你也可以考虑用 C、C++代码编写部分代码,以满足客户要求。
所以说如果没有 NDK 编译的话,你的这些代码在 Android 上是跑不起来的。
二、 看起来似乎不错,我已经想试试了,我要怎么做?
2.1 什么是 cygwin?为什么要用它?
由于 NDK 编译代码时必须要用到 make 和 gcc,所以你得先弄个 linux 环境,如果你只
有 windows 又不想安装 linux 环境怎么呢?这时候,cygwin 上场了,cygwin 是一个在
windows 平台上运行的 unix 模拟环境,它对于学习 unix/linux 操作环境,或者从 unix 到
windows 的应用程序移植,非常有用。通过它,你就可以在不安装 linux 的情况下使用
NDK 来编译 C、C++代码了。
下边,跟我一步一步来安装吧:
1、 首先,你得先跑到 http://www.cygwin.com
下载一个安装包,下载后呢,解压到一个
目录里去,注意,为保险起见,不要解压到带空格和中文目录里,否则似乎会造成
下载后解压失败的情况。解压后你会看到以下的图标:
2、 然后双击运行吧,运行后你将看到安装向导界面:

3、 点击下一步,如下图:
这是让你选择安装方式:
1)Install from Internet:直接从 Internet 上下载并立即安装(安装完成后,下载好的安
装文件并不会被删除,而是仍然被保留,以便下次再安装)。

2)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。
3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录
进行安装。
4、选择第一项,然后点击下一步,之后如下图:
5、 选择要安装的目录,注意,最好不要放到有中文和空格的目录里,似乎会造成安装
出问题,其它选项不用变,之后点下一步:

6、 上一步是选择安装 cygwin 的目录,这个是选择你下载的安装包所在的目录,默认
是你运行 setup.exe 的目录,直接点下一步就可以,之后如下图:
7、如上图所示,共有三种连接方式选择:
1) Direct Connection:直接连接。
2) Use IE5 Settings:使用 IE 的连接参数设置进行连接。
3) Use HTTP/FTP Proxy:使用 HTTP 或 FTP 代理服务器进行连接(需要输入服务器

地址、端口号)。
用户可根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,
也就是直接连接方式。然后再点击“下一步”,之后如下图:
8、 这是选择要下载的站点,建议选用第一个即可,因为我在选择后边几个台湾站点的
时候,会出现下载不动或下载时报 Download Incomplete. Try again?的情况,选择后
点下一步,如下图:
剩余27页未读,继续阅读
安全验证
文档复制为VIP权益,开通VIP直接复制

评论11