android开发之绝对安全(二) NDK开发

来源:互联网 发布:js跨域请求 get错误 编辑:程序博客网 时间:2024/05/17 07:46

首先需要安装Cygwin。也有人说从NDKR8C版本开始就不需要Cygwin了,其实也不全对,新版本的NDK集成了Cygwin的部分功能,但是很不全面,所以还是要安装Cygwin才行。安装方法略过不谈,另有博客(《android开发之绝对安全(一) 安装Cygwin》)详述。

然后需要配置下载和NDK

下载NDK可以到官网进行下载,目前最新版本是R9C,下载地址是:

http://developer.android.com/tools/sdk/ndk/index.html

大家可以自行选择适合自己电脑的版本:

 

下载完成后解压,并拷贝到合适的目录:目录名字中不能有空格和汉字,包括工作空间也要没有空格和汉字,以便Cygwin使用。

然后打开eclipse进行配置。打开[Window]--[Prefrences]菜单,选择[Android]--[NDK],然后设置相应的NDK目录,并点击应用:

 

到此配置完毕。

eclipse中导入NDK目录下的samples文件夹中的hello-jni项目进行测试。如果无法导入,请将.classpath.project文件拷贝到这个项目目录下(这两个文件的下载地址:http://download.csdn.net/detail/iloveyoueveryday/6906253)。注意,用文本工具打开.project文件的话,你会发现这是一个XML文件,一定要保持name标签中的内容与项目名称一致。

直接运行肯定会报错,需要使用Cygwin编译一下才能运行。

打开Cygwin,输入项目目录,然后运行ndk-build即可:

 

编译完成后,在eclipse中刷新已经导入的hello-jni项目,既可以运行。

注意一点,编译生成的文件夹有以下几个:

 

一般保留第一个就行了,其他的可以删除。但是考虑到以后android手机CPU的多样化,全都保留也是可以的。

打开项目中的hello-jni.c文件,你会发现调用的这个本地方法使用了jni.h库,有这样两个参数:

( JNIEnv* env, jobject thiz )

其中JNIEnv表示java环境,jobject表示调用这个方法的类。JNIEnv类所能使用的方法另有博客(《android开发之绝对安全(三) JNI方法集合》)详述,可供参考。

 

0 0
原创粉丝点击