[英]No JNI library to link to on android toolchain
android工具链中似乎有“ jni.h”标头,但没有可链接的库。
有人可以指导我如何从我的应用程序中的C代码调用Java函数吗?
Android不会导出JNI库。 这意味着系统中无法从用户空间C代码中调用JNI_CreateJavaVM()
及其类似物。 您可以创建自己的JVM,但它将不是同一Java,并且无法访问Android SDK类和方法。
在Android中,Zigote进程从特殊的JVM(Dalvik或ART)开始,然后Java可以加载C代码(以.so
文件的形式),反之亦然。
您的C代码可以使用标准的JNI技术(例如CallVoidMethod()
和她的亲戚)来调用Java方法。 请注意,Android SDK Java方法通常需要一些“句柄”(例如context
)来完成其工作; 通常,您必须依靠从Java到C的某些调用才能获得这些句柄。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.