首页 > 其他 > 详细

JNI的环境搭建和简单的初步使用(2)

时间:2014-03-06 16:13:26      阅读:615      评论:0      收藏:0      [点我收藏+]

dk-build环境搭建好以后,我们就需要来试试环境是不是真的搭建好了

①首先打开ecplise,新建一个工程JNITest

建好以后在MainActivity中编写一个叫sayHelloWorldFromC()的本地方法(这是一个用native关键字声明的抽象方法,并不需要实现它,我们需要用C语言来实现它)

bubuko.com,布布扣

② 新建一个叫jni的文件夹

bubuko.com,布布扣

③新建一个名字叫Hello.cc文件,并输入如下代码

bubuko.com,布布扣

其中jstring表示返回的类型是String类型,方法的命名规则是:Java_包名_包名_...._类名_方法名,

我们一开始声明的一个方法bubuko.com,布布扣

它在bubuko.com,布布扣

bubuko.com,布布扣下面.所以方法会如此声明

bubuko.com,布布扣这个就以我们要返回的字符串,可以任意填写你想要返回的字符串

(其他的参数,返回类型为何如此写,不在讨论范围,可以在网上查找资料)

,新建一个叫Android.mk的文件到jni目录下,具体可以看第②步的视图图片

里面输入一下信息

bubuko.com,布布扣

这些信息怎么写,怎么来?

可以找到ndk目录下的docs目录

bubuko.com,布布扣

进入后可以看到一个叫的文件bubuko.com,布布扣

这里就是叫你如何写android.mk

我们打开这个文件,找到这里

bubuko.com,布布扣

把cut here之间的带面复制下来就可以了

其中bubuko.com,布布扣

第一行表示编译后的文件的名字

第二行表示的是我们一开始在jni创建的c文件的名字

其他的不需要更改

mk文件也创建好以后,就可以编译了,这里只介绍cygwin的编译,windowscmd编译类似,就不说了

编译过程:

打开桌面的cygwin,进入你的项目文件目录(项目文件的路径可以右击ecplise中的项目,选择Properties就可以看到路径了,还有路径的斜杠必须是反斜杠

bubuko.com,布布扣

bubuko.com,布布扣

此时输入:ndk-build就可以编译了(我的显示可能不一样,因为我的已经编译过了,如果出现错误,说明你的c文件编写错误或者是你的android.mk错误,需要重新检查下)

bubuko.com,布布扣

看上图,最后一句话的意思是告诉你在你的项目里,它给你生成了一个文件,在这里(需要选装ecplise中的项目,F5刷新才会显示出来)

bubuko.com,布布扣

⑥编译好以后你就成功了,剩下的就是调用这个方法libHello.so文件,让它和你的本地native方法关联起来

MainActivity中输入

bubuko.com,布布扣

然后就可以使用这个sayHelloWorldFromC这个方法了

bubuko.com,布布扣

具体效果:

bubuko.com,布布扣

//源码地址:http://pan.baidu.com/s/1o6Fd4Ye


这里只是简单的使用,真正返回一个字符串当然不需要用C语言来编写,但是对于一些特效,一些其他Java语言编写起来相当吃力的功能,就需要使用到JNI技术

关于JNI的更多技术资料请到网上查询和了解

JNI的环境搭建和简单的初步使用(2),布布扣,bubuko.com

JNI的环境搭建和简单的初步使用(2)

原文:http://blog.csdn.net/siyehuazhilian/article/details/20607283

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!