方法使用java在Android中进行调整

Mik*_*e G 6 java android

是否可以使用java在android中进行方法调配?我想拦截一个系统方法并记录其参数然后正常处理它

sud*_*ode 3

我认为该技术不能在任何环境中使用 Java 来使用。

也许您可以使用 AOP 获得类似的结果。

但在 Android 上你能用它做的事情看起来很有限。请参阅android 中的面向方面编程。事实上,由于您不会编译目标代码(系统方法),因此编译时编织(这似乎是您在 Android 上可以使用的所有内容)对于这种情况将毫无用处。我想这个答案也是如此。

另一种想法...我猜你想持续进行这种记录。但如果您需要它来调试问题,您可以使用Eclipse 中的条件断点来完成。

条件表达式可以包含任意 Java 代码,并且可以包含多个语句,允许断点条件来实现跟踪等功能。例如,条件可以执行打印语句,然后返回硬编码值以永不挂起(“System.out.println(...); return false;”)。

我具体不知道这是否适用于 Android SDK 中的方法。但它确实可以与 Java SDK 中的方法一起使用。例如,下面是简单的代码:

    System.err.println("foo");
Run Code Online (Sandbox Code Playgroud)

我在 PrintStream.print 中设置了一个条件断点,如下所示:

System.err.println("hello: " + arg0);
return false;
Run Code Online (Sandbox Code Playgroud)

而在程序中调试时控制台输出是这样的:

hello: foo
foo
Run Code Online (Sandbox Code Playgroud)

请注意,由于 JDK 不是使用调试符号编译的,因此我无法按名称引用方法参数,而是使用arg0..argn.