JNI调用 随笔
2011-09-06 14:58
218 查看
JNI是Java Native Interface的缩写,JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。
在JAVA调用C时,JNI充当一个桥梁的作用。
![](http://www.iteye.com/upload/picture/pic/28297/29349bd2-3cfd-3bc3-afb4-5afb2452524e.png)
Jni调用过程示意图
JNI开发步骤:
1.编写JAVA类,编译后生成.class文件
2.javah XX.class---->XX.h
3.根据XX.h的函数名 在C中coding
---------------------------------------
4.将C生成的库(.so .dll)加入到java项目的java.library.path
5.done
Jni程序开发示例:
1.在eclipse项目中新建一个TestHello.java
编译生成TestHello.class.
2.在命令行中使用javah TestHello命令,生成TestHello.h头文件
3.在C文件下,实现xx.h接口,然后将生成的.so拷贝至java工程即可。
在JAVA调用C时,JNI充当一个桥梁的作用。
![](http://www.iteye.com/upload/picture/pic/28297/29349bd2-3cfd-3bc3-afb4-5afb2452524e.png)
Jni调用过程示意图
JNI开发步骤:
1.编写JAVA类,编译后生成.class文件
2.javah XX.class---->XX.h
3.根据XX.h的函数名 在C中coding
---------------------------------------
4.将C生成的库(.so .dll)加入到java项目的java.library.path
5.done
Jni程序开发示例:
1.在eclipse项目中新建一个TestHello.java
public class TestHello { static { System.loadLibrary("TestHello"); } public static native void hello(String msg); public static void main(String[] args) { hello("Hello,Kimm!"); } }
编译生成TestHello.class.
2.在命令行中使用javah TestHello命令,生成TestHello.h头文件
3.在C文件下,实现xx.h接口,然后将生成的.so拷贝至java工程即可。
相关文章推荐
- jni的调用过程
- android C++和Java通过JNI机制相互调用
- Android通过JNI调用驱动程序(完全解析实例)
- Android NDK开发之JNI调用Java对象
- android JNI 调用第三方动态库
- 在java中调用c/c++代码的方法(jni)
- 实例 android jni中调用Log输出调试信息
- cocos2d-x中通过Jni实现Java与C++的互相调用-------------------cocos2d-x-3.0正式版本(7.3)
- Ubuntu Feisty 下开发 JNI 应用步骤 (Java调用C/C++的技术)
- JNI编程 —— 让C++和Java相互调用
- java通过JNI调用C++(VC++6.0) 实例
- 01_JNI是什么,为什么使用,怎么用JNI,Cygwin环境变量配置,NDK案例(使用Java调用C代码),javah命令使用
- 4.29Android中对jni调用部分的调试
- 02_JNI中Java代码调用C代码,Android中使用log库打印日志,javah命令的使用,Android.mk文件的编写,交叉编译
- Android调用jni全过程,方便以后操作
- android JNI调用过程中的方法签名规则
- 【转】 Android的NDK开发(1)————Android JNI简介与调用流程
- Android Jni调用浅述
- JNI之C++调用Java类 —— java.lang.String
- Android开发之JNI调用本地C库专题(二):Android增量更新