JNI的环境搭建和简单的初步使用(2)
来源:互联网 发布:国密算法 公开 编辑:程序博客网 时间:2024/09/21 08:17
dk-build环境搭建好以后,我们就需要来试试环境是不是真的搭建好了
①首先打开ecplise,新建一个工程JNITest
建好以后在MainActivity中编写一个叫sayHelloWorldFromC()的本地方法(这是一个用native关键字声明的抽象方法,并不需要实现它,我们需要用C语言来实现它)
② 新建一个叫jni的文件夹
③新建一个名字叫Hello.c的c文件,并输入如下代码
其中jstring表示返回的类型是String类型,方法的命名规则是:Java_包名_包名_...._类名_方法名,
我们一开始声明的一个方法
它在
的下面.所以方法会如此声明
这个就以我们要返回的字符串,可以任意填写你想要返回的字符串
(其他的参数,返回类型为何如此写,不在讨论范围,可以在网上查找资料)
④,新建一个叫Android.mk的文件到jni目录下,具体可以看第②步的视图图片
里面输入一下信息
这些信息怎么写,怎么来?
可以找到ndk目录下的docs目录
进入后可以看到一个叫的文件
这里就是叫你如何写android.mk
我们打开这个文件,找到这里
把cut here之间的带面复制下来就可以了
其中
第一行表示编译后的文件的名字
第二行表示的是我们一开始在jni创建的c文件的名字
其他的不需要更改
⑤mk文件也创建好以后,就可以编译了,这里只介绍cygwin的编译,windows的cmd编译类似,就不说了
编译过程:
打开桌面的cygwin,进入你的项目文件目录(项目文件的路径可以右击ecplise中的项目,选择Properties就可以看到路径了,还有路径的斜杠必须是反斜杠
此时输入:ndk-build就可以编译了(我的显示可能不一样,因为我的已经编译过了,如果出现错误,说明你的c文件编写错误或者是你的android.mk错误,需要重新检查下)
看上图,最后一句话的意思是告诉你在你的项目里,它给你生成了一个文件,在这里(需要选装ecplise中的项目,按F5刷新才会显示出来)
⑥编译好以后你就成功了,剩下的就是调用这个方法libHello.so文件,让它和你的本地native方法关联起来
在MainActivity中输入
然后就可以使用这个sayHelloWorldFromC这个方法了
具体效果:
//源码地址:http://pan.baidu.com/s/1o6Fd4Ye
这里只是简单的使用,真正返回一个字符串当然不需要用C语言来编写,但是对于一些特效,一些其他Java语言编写起来相当吃力的功能,就需要使用到JNI技术
关于JNI的更多技术资料请到网上查询和了解
- JNI的环境搭建和简单的初步使用(2)
- JNI的环境搭建和简单的初步使用(1)
- JNI环境的搭建
- jni的环境搭建
- JNI的初步使用(一)
- Android NDK JNI 的环境搭建以及简单的代码
- Android-JNI(2)-NDK环境搭建和简单案例
- Android Studio 最简单的NDK环境搭建和JNi调用
- Android NDK环境搭建及调用JNI的简单步骤
- Eclipse的JNI环境搭建
- JNI的初步了解与简单示例
- windows android JNI 使用和环境搭建
- Android JNI(NDK)简单学习(环境搭建,创建一个JNI项目的基本流程)
- JNI的简单使用
- jni的简单使用
- JNI的简单使用
- jni的简单使用
- AndroidStudio2.2+环境下的JNI环境搭建
- 双系统中,解决Ubuntu下打开win7中的文件乱码
- CSS阴影效果
- 移动增值彩信平台实施计划方案(sp期刊集团)
- PCA算法理解
- android4.3 截屏功能的尝试与失败分析
- JNI的环境搭建和简单的初步使用(2)
- 轻松在mac上配置svn服务器
- 移动增值短信平台实施计划方案(珠海报业短信)
- 对AngularJS进行性能调优的7个建议
- Linux上的存储识别问题
- void android.view.ViewTreeObserver.addOnGlobalLayoutListener(OnGlobalLayoutListener listener)
- C# 获取IE浏览器的HTML内容
- Struts2 Action接口与ActionSupport类
- fopen /open,read/write和fread/fwrite区别