gpt4 book ai didi

java - 如何使用 Java 反射调用 Android Dalvik 内部方法?

转载 作者:太空宇宙 更新时间:2023-11-04 13:03:59 26 4
gpt4 key购买 nike

虽然也有类似的问题(如 thisthis ),但他们的答案并不能解决我的问题。

我使用的是针对 Android API 18 的 Android Studio 1.5.1(Android KitKat 4.4 之前的版本,因此我处理的是 Dalvik,而不是 ART 运行时)。

我的问题是:

(1) 是否可以使用反射调用Dalvik内部方法?如果是这样,你能展示一个代码示例吗?例如,Dalvik有自己的堆栈,位于源代码here (Interpreter)中,我可以通过反射调用函数 dvmDumpRunningThreadStack() 吗?

(2) 如果由于堆栈是用 native 代码编写而无法实现 (1),那么是否可以使用反射调用任何 Dalvik 内部方法?如果是这样,你能展示一个代码示例吗?例如,Dalvik有很多方法位于源代码here (Dalvik)中,我可以通过反射调用那里的任何方法吗?

最佳答案

这行不通。反射机制只知道如何找到Java语言代码可见的东西。

您可以调用对托管代码可见但不属于公共(public) API 一部分的方法。 VM 的内部 native 函数根本不可见,并且没有 VM 函数可以找到它们。所有要调用的 VM 函数都显式发布为类中的“ native ”方法。

关于java - 如何使用 Java 反射调用 Android Dalvik 内部方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34669267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com