MYaction(myinfo);
大体流程就是这样;如果用到本体,则用到这个方法
}
调用的时候,先初始化:
MYinfo.ByReference myinfo = new MYinfo.ByReference();//这就是你要作为参数传进去的变量
调用:
MYInterface.INSTANCE。。。。用java写一个MYinfo的类
public static class MYinfo extends Structure {
public byte[] sType = new byte[16];
public int nVersion;
public static class ByReference extends FACTORY_INFO
implements Structure.ByReference{}//如果作为参数,则用到这个方法
public static class ByValue extends FACTORY_INFO
implements Structure.ByValue{}//
在NDK中自带了一个最简单的sample,从JNI返回一个string给Java,是这么用的:
#include
#include
/* This is a trivial JNI example where we use a native method
* to return a new VM String. See the corresponding Java source
* file located at:
*
* apps/samples/hello-jni/project/src/com/example/hellojni/HelloJni.java
*/
jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
以上是解决JAVA调用DLL的疑问的详细内容。更多信息请关注PHP中文网其他相关文章!