jni中通过FindClass如何找到一个类中定义的类
jni中通过FindClass怎么找到一个类中定义的类?
jni中通过FindClass怎么找到一个类中定义的类?
java代码如下:
public class Hello {
private native int testCallSubClassMethod();
static{
System.loadLibrary("JavaTet");
}
public class arithmatic{
public int sub(int a, int b)
{
return a - b;
}
public int mul(int a, int b)
{
return a * b;
}
}
public static void main(String[] args){
Hello hl = new Hello();
hl.testCallSubClassMethod();
}
}
我想调用arithmatic类中的sub方法
当使用jclass cls = (*env)->FindClass(env, "test/Hello/arithmatic");
总是查找类失败,那么描述符该怎么写?
PS: "test"是包名,如果是jclass cls = (*env)->FindClass(env, "test/Hello");是可以成功找到的。
------解决方案--------------------
内部类?你看下内部类编译结果就知道
------解决方案--------------------
好像改成"test/Hello$arithmatic",你試試看行不行
jni中通过FindClass怎么找到一个类中定义的类?
java代码如下:
public class Hello {
private native int testCallSubClassMethod();
static{
System.loadLibrary("JavaTet");
}
public class arithmatic{
public int sub(int a, int b)
{
return a - b;
}
public int mul(int a, int b)
{
return a * b;
}
}
public static void main(String[] args){
Hello hl = new Hello();
hl.testCallSubClassMethod();
}
}
我想调用arithmatic类中的sub方法
当使用jclass cls = (*env)->FindClass(env, "test/Hello/arithmatic");
总是查找类失败,那么描述符该怎么写?
PS: "test"是包名,如果是jclass cls = (*env)->FindClass(env, "test/Hello");是可以成功找到的。
------解决方案--------------------
内部类?你看下内部类编译结果就知道
------解决方案--------------------
好像改成"test/Hello$arithmatic",你試試看行不行