好久没搞过NDK开发了,最近又开始这段编程经历,发现变化真是太多了,自己有点out了。曾经一直在cygwin下面捣鼓的累死了,从r7开始,这些都已经成为过去式了。。。
进入正题吧,我们可以直接在google上面把最新的集成ADT给下载下来,然后装上NDK plugin,建议安装好最新版。google集成好的ADT把C/C++开发使用的CDT也集成进去了,这一点倒是非常方便。
搞完这些之后,就开始环境变量的配置。在系统变量里面新建NDKROOT,我在网上看到有人说一定要这个名词,就先姑且这个吧,反正无所谓。这个名词要记好,因为后续再eclipse配置工程的时候要用到。随后在Path中添加%NDKROOT%;
至此为止,环境变量配置好了,我们来测一下刚才配置的是否正确。打开cmd窗口,输入ndk-build,出现下图所示,即表示OK了
ok,所有配置均已完成,现在开始建项目,首先在eclipse的window->perferences中把刚才下载好的ndk路径添加进去
然后我们新建一个项目,就是一个普通的项目
这时候,我们右击这个项目,点击这个
这样就出来一个so文件命名的界面,并且同时,jni的相关配置也被导入进项目来。
这个时候,就要开始我们第一步的hello jni的工作了啊
我们新建一个包含本地方法的java文件JNIClass.java,这里,我们让他返回一个字符串,同时,添加一个库的静态加载方法,这个“HelloJni”的由android.mk里面配置参数 LOCAL_MODULE := HelloJni 决定的
然后去这个项目所在工程的/bin/classes目录下,在cmd中用命令javah -classpath .-jni comrenyu.hellojni.JNIClass去生成jni头文件,其中comrenyu.jni是包名,JNIClass是类名
得到的头文件拷贝到项目jni目录下
这时候,我们开始编写工作
我们在这个cpp中,添加了一个头文件的引用,并且把头文件声明的方法实现了一下,返回了一个Hello World的字符串
这时候,我们在java中添加相应代码运行一下吧
至此,全流程打通了。
欢迎大家拍砖,谢谢