android项目中通过JNI调用Windows下的dll库

第一步:生成dll

注意点:要把jdkinclude文件夹下的jni.h以及include/ win32下的jni_md.h和jawt_md.h添加到编译器中的include中,或者何源文件放在一起,又是会提示jnih找不到,这是你可以把使用javah生成的.h文件中的<jni.h>改成“jni.h”;即可:用Javah生成的头文件com_xinfeng_intf_animal.h和相应的实现文件生成testdll,采用VS2013生成相应的的testdll.dll;

第二步: 需要testdll.dll的头文件,以便知道了定义了哪些接口在里面,例如:

android项目中通过JNI调用Windows下的dll库

当然,要知道这些方法的实现,就要看实现部分了,一般不需要知道。

 

------------------------------- 预备动作 --------------------------

1. 从上面图中,我们可以接口的定义,假设现在我们需要调用如下接口,该怎么调用呢?

android项目中通过JNI调用Windows下的dll库

2. 首先看接口

android项目中通过JNI调用Windows下的dll库

 

---------------------------- Java调用开始 ---------------------------

第一步: 建立一下 Java-Project工程,工程名随便起一个。

android项目中通过JNI调用Windows下的dll库

第二步:要对应dll里面的接口,建立相对应的接口。

android项目中通过JNI调用Windows下的dll库

第三步: 在Animal.java定义相应的接口

android项目中通过JNI调用Windows下的dll库

第四步:在main 中调用接口。

android项目中通过JNI调用Windows下的dll库

第五步: 把dll文件放在当前的目录下即可;刷新项目,加载进来dll,即可在项目中调用dll中相应的函数;