java - 如何将 int 数组从 Java 返回到 JNI

标签 java android c java-native-interface

我必须从 JNI 调用 Java 方法。此 Java 方法返回 int 数组 (int[] simpleMethod())。如何从 JNI 调用它以获取数组作为返回值? 当方法返回 void/String/int/etc 但找不到任何数组时,我知道如何执行此操作。 我对如何解决这个问题有一些想法,但也许答案很简单。

最佳答案

使用CallObjectMethod。例如:

jmethodID myMethod = (*env)->GetMethodID(myClass, "myMethod", "()[I");
jintArray retval = (jintArray) (*env)->CallObjectMethod(myObject, myMethod);

关于java - 如何将 int 数组从 Java 返回到 JNI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8358375/

相关文章:

java - 处理 3.4 - 水模拟上的扩散着色顶点

c - 即使在类型转换之后,是否每次都需要取消引用 void 指针?

C strndup 隐式声明

用于更改命令提示符目录的Java程序

java - Spring AOP问题

android - 我的应用程序应该实现后退按钮吗?

android - 菜单图标未显示在工具栏中

Android 应用程序当前 Activity 问题

c - 加载共享库 : libcudart. so.4 时出错:无法打开共享对象文件:没有这样的文件或目录

java - 已处理的 Java 异常导致未处理的异常