Java/JNI—是否可以从Java中检索本机函数地址;“一方”吗;?

Java/JNI—是否可以从Java中检索本机函数地址;“一方”吗;?,java,android,c,java-native-interface,native,Java,Android,C,Java Native Interface,Native,当通过JNI从本机代码(即c/c++)调用Java函数时,是否可以在Java函数内部获得本机函数地址 我想不是,但也许一些JNI专家可以证明我错了 顺便说一句:我在Android上工作,我无法控制本机函数。如果允许本机调用获取地址,应该不会太难-只要让本机调用返回一个jlong:return((jlong)和一些函数名)。我不知道你能用它做什么,但这是可能的。来自纯Java?可能没有,但可能有人有办法做到这一点。正如我所说,我对本机部分没有任何控制权。这是否妨碍您编写自己的JNI代码?在这种情况

当通过JNI从本机代码(即c/c++)调用Java函数时,是否可以在Java函数内部获得本机函数地址

我想不是,但也许一些JNI专家可以证明我错了


顺便说一句:我在Android上工作,我无法控制本机函数。

如果允许本机调用获取地址,应该不会太难-只要让本机调用返回一个
jlong
return((jlong)和一些函数名)。我不知道你能用它做什么,但这是可能的。来自纯Java?可能没有,但可能有人有办法做到这一点。正如我所说,我对本机部分没有任何控制权。这是否妨碍您编写自己的JNI代码?在这种情况下,您可能需要使用
dlsym()
来获取地址,而不是直接查找地址。我无法使用
dlsym
,因为符号是隐藏的。我想可能还有另一种方法可以获取函数的地址。