jni是java与其他语言进行互相调用的一种方式,在java中的jni的体现是native方法,如object类中的hashCode方法,调用的就是c语言的方法,下面就是具体的步骤,
1.创建java 普通项目
编写代码,声明一个native的方法
这时需要使用到java目录下的javah,通过javah命令来生成对应的本地c代码,在编译过后的class目录中执行如下
这时会在相应的目录生成.h
接下来就是我们根据org_ww_JniNatve.h来编写我们c的实现。
新建c++项目
添加生成的.h到头文件
代码如下
编译成dll,将dll拷贝到jdk 的path目录下 ,
而后在java代码中
执行调用成功,
在这里需要说明的是,在很多个第三方java库中经常会遇到需要将dll放入到jdk的path,这个path是根据你java程序依赖的jre的目录下的,所以要放到对应的jre/bin目录下,比方print2flash等第三方插件