gpt4 book ai didi

java - 如何将 2 byte[] 从 JNI 传递给 Java

转载 作者:行者123 更新时间:2023-11-28 06:23:27 25 4
gpt4 key购买 nike

我有一个 java 方法,像这样:

public static native void receiveCallback(byte[] value1, byte[] value2);

在 JNI 中,我可以访问类和方法,但我的参数列表不正确。我正在尝试这样调用方法:

jmethodID testJavaMethod = (java_environment)->GetMethodID(clazz, "receiveCallback","([B[B");

然后我在运行时收到一个 NoSuchMethod 异常。

我关注了多个 SO 问题,包括这个 JNI - How to callback from C++ or C to Java? ,但我仍然卡住了。

有什么建议吗?

谢谢。

最佳答案

如果要回调到 Java 中,必须使用 Java 实现。你需要

public static void receiveCallback(byte[] value1, byte[] value2) {
// do something with value1 and value2
}

要获取静态方法的 ID,您需要使用“GetStaticMethodID”。此外,要调用它,您还必须使用“CallStaticVoidMethod()”。

关于java - 如何将 2 byte[] 从 JNI 传递给 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28952035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com