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");是可以成功找到的。
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");是可以成功找到的。
解决方案 »
- 刚学习android开发几天,在做打老鼠时遇到的一些问题
- 求救:在google地图开发上覆盖gif图标实现动态效果
- android模拟器里面怎么没有日历?
- CardLayout是不是java特有的?
- 关于下载文件的文件名, 2.1版本模拟器的结果和别的不一样
- Android开发 TextView 改变字体大小的时候让粗细不变
- 请教:android转换json字符串
- android 中怎么禁用多点触摸的问题
- eclipse DDMS File Explorer不能展开sdcard文件夹
- 微视,美拍,搜狐视频,微信在屏幕中播放规则?
- android 数据库。。。在线等
- Eclipse 的 LogCat 一路狂奔!
现在我想调用调用类中类的函数sub,但是出错:mid = (*env)->GetMethodID(env, cls, "sub", "(II)I");
if (mid == NULL)
{
return -1;
}
ret = (*env)->CallIntMethod(env, obj, mid, 10, 4);错在(*env)->CallIntMethod(env, obj, mid, 10, 4);
应该是obj这个参数出错,我怎么样得到这个类中类的对象,然后调用这个函数。话说这个jni也真麻烦啊