我试图通过JNI将对象指针从C++代码传递给java方法,以便稍后将其转换回回调中的指针。
void Client::process()
{
long thisAddress = (long)this;
QAndroidJniObject res = activity.callObjectMethod("process", "(Ljava/lang/Long;)Ljava/lang/String;", (jlong)thisAddress);
}
Java 函数原型是public String process(Long clientAddr)
,这是 JVM 打印给我的美丽:Invalid indirect reference 0x5f3d9bc8 in decodeIndirectRef
.
这段代码有什么问题?或者,也许还有另一种方法可以做我想做的事?