我希望能够使用Android中的本机代码定位Dalvik VM。 这意味着使用在android源代码库下的platform/dalvik中列出的本机类。
特别是,我想致电Sync.dvmLockObject
及其对手Sync.dvmUnlockObject
。
有可能吗?您能否提供快速的代码片段或特定库的说明?
或者,您可以提供执行相同操作的java或本机代码(也就是说,能够访问java对象的监视器。例如,使用pthread
似乎并不适用例如)。
答案 0 :(得分:1)
您可以使用JNI FindClass()查找框架的任何私有类,并以通常的JNI方式查找和调用其方法。但dvmLockObject()不是Sync
类的方法。它是dalvik本地图书馆的一部分。您可以从代码中将其称为常用的C函数。您将链接到libdvm.so
,以及任何其他系统库。
但是我不知道调用这个函数有什么用处。