是否可以从本机代码访问Dalvik VM

时间:2014-03-14 08:10:20

标签: android android-ndk

我希望能够使用Android中的本机代码定位Dalvik VM。 这意味着使用在android源代码库下的platform/dalvik中列出的本机类。

特别是,我想致电Sync.dvmLockObject及其对手Sync.dvmUnlockObject

有可能吗?您能否提供快速的代码片段或特定库的说明?

或者,您可以提供执行相同操作的java或本机代码(也就是说,能够访问java对象的监视器。例如,使用pthread似乎并不适用例如)。

1 个答案:

答案 0 :(得分:1)

您可以使用JNI FindClass()查找框架的任何私有类,并以通常的JNI方式查找和调用其方法。但dvmLockObject()不是Sync类的方法。它是dalvik本地图书馆的一部分。您可以从代码中将其称为常用的C函数。您将链接到libdvm.so,以及任何其他系统库。

但是我不知道调用这个函数有什么用处。