首页
社区
课程
招聘
[求助]JNI中实现Java反射问题
发表于: 2015-1-11 17:42 12082

[求助]JNI中实现Java反射问题

2015-1-11 17:42
12082
要实现的代码
Class obj_class = Class.forName(class_name);  
            Method method = obj_class.getMethod(method_name,pareTyple);  
            return method.invoke(null, pareVaules);  


已写的
jclass context = env->FindClass("java/lang/Class");

	jmethodID forName_func = env->GetStaticMethodID(context,"forName","(Ljava/lang/String;)Ljava/lang/Class;");

	jclass class_obj =(jclass)env->CallStaticObjectMethod(context, forName_func,class_name);


	jmethodID getClass_func = env->GetMethodID(class_obj,"getClass","()Ljava/lang/Class;");
	jclass class_java =(jclass)env->CallObjectMethod(class_obj,getClass_func);


	jmethodID getMethod_func = env->GetMethodID(class_java,"getMethod","(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;");
	jclass method_obj =(jclass)env->CallObjectMethod(class_java, getMethod_func,method_name,pareTyple);

	jmethodID invoke_func = env->GetMethodID(method_obj,"invoke","(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;");
	jclass invoke_obj =(jclass)env->CallObjectMethod(method_obj,invoke_func,NULL,pareVaules);

会提示Method找不到错误。检查了很久了,请知道的大牛指点下  thx!

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 79
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
先mark一下,我好像在逆向的代码中看到过
2015-8-23 00:16
0
雪    币: 58
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
env->GetMethodID(class_java,"getMethod", ...  
这一块没必要,想调用方法直接env->GetMethodID(class_java, method_name, ...
就行了啊
2015-8-27 12:09
0
雪    币: 1185
活跃值: (458)
能力值: ( LV13,RANK:360 )
在线值:
发帖
回帖
粉丝
4
我这个是一个ClassLoader的函数,用这个load其他任意method
2015-8-29 12:55
0
雪    币: 1305
活跃值: (252)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
5
有两种可能:
1是方法存在父类中。
2.是你的函数入参类型不对。
建议你先把该类和父类下所有的方法和
方法的参数类型都打印出来。这样就可以排除问题了。
2015-9-2 20:43
0
雪    币: 1185
活跃值: (458)
能力值: ( LV13,RANK:360 )
在线值:
发帖
回帖
粉丝
6
1月份的问题。。早解决了  谢谢回帖~
2015-9-2 21:28
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
楼主你解决了公布一下解决方案啊.
2016-5-7 03:15
0
游客
登录 | 注册 方可回帖
返回
//