我可以从本机代码调用java方法吗?如果是这样的话?

时间:2011-12-24 11:09:21

标签: java-native-interface native

我有一个Java函数可以接受可变数量的参数,在JNI中我接收jobjectArray中的所有参数。但问题是String类型中可用的所有参数,但最初您的数据类型不同。因此在c / c ++中将它们转换为原始类型是不可能的。所以,如果我可以调用其他一些java方法,这将使我的这些转换变得简单。是否可以从JNI中的本机代码调用java方法?

请帮帮我。很长一段时间我都很震惊。提前谢谢。

2 个答案:

答案 0 :(得分:1)

以下是一个简洁的例子:http://journals.ecs.soton.ac.uk/java/tutorial/native1.1/implementing/method.html

从根本上说,您需要查找表示要调用的类和方法的本机对象,格式化参数,调用相应的JNIEnv-> CallXXX方法,并处理结果值。

答案 1 :(得分:1)

当您使用env-> NewStringUTF(实际参数)回调java方法时,我们可以将String作为参数从本机代码传递。