小编Pan*_*tis的帖子

Java 9中OSX下的Dock图标

我正在尝试在Java 9中设置Dock图标。

在Java的早期版本中,这可以通过以下方式实现, com.apple.eawt.Application.getApplication().setDockIconImage(image); 但不幸的是,在Java 9中,Application类已过时且无法访问(也许还缺少?)。

对于Application类中发现的所有其他任务,java.awt.Desktop该类采用了此功能,除了Dock操纵之外。

JEP 272中提到了此更改,以及Dock过于面向Apple(对我而言都是面向Apple)的想法,对此没有明确的解释。

Google搜索还提供有关如何处理此问题的9之前的信息。

有谁知道如何用Java 9完成操作?

java macos dock java-9

5
推荐指数
1
解决办法
655
查看次数

Android下如何交换方法体

在纯 Java 中,使用插装和 Java 代理,有一种方法可以在运行时替换方法体。

不幸的java.lang.instrument.Instrumentation是在 Android 下不可用。

我已经检查了所有其他替代方案,例如这里在stackoverflow 中描述的替代方案,它指向过时的javassist-android实现。这令人惊讶地有效,但仅适用于新课程。

还有一篇名为Hot swapping code in Android的文章描述了如何在运行时再次加载类,而不是如何替换现有的类方法。

唯一处理这个问题的文章是一篇名为Android hacking:replace system classes methods with your own 的文章,它没有提供源代码并引用了 Dalvik,而不是 ART(因此它不适用于现代硬件)。

那么,有没有什么办法呢?

...

底线:我想要这样做的原因是在我的应用程序中跟踪特定的方法调用,就像调用此方法时(并在它之前执行某些操作)和此方法退出时(并对其执行一些操作)一样。这些方法是在运行时定义的,因此无法在编译时提前知道它们。

android dalvik dex java-assist

3
推荐指数
1
解决办法
446
查看次数

标签 统计

android ×1

dalvik ×1

dex ×1

dock ×1

java ×1

java-9 ×1

java-assist ×1

macos ×1