繁体   English   中英

没有JNI库可链接到android工具链上

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM