如何将 Procyon 反编译器与 Diffoscope 一起使用
How to use Procyon Decompiler with Diffoscope
我在 Ubuntu Bionic 上使用 运行 Diffoscope,当我打开调试日志 (--debug
) 时,我注意到很多这样的行(每个 .class
文件一个在 JAR
):
diffoscope.comparators.java: Unable to find ProcyonDecompiler. Falling back...
我安装了软件包 procyon-decompiler
,但错误仍然存在。如何使 Diffoscope 与 Procyon 一起使用?我找不到关于此集成的任何文档!
通过阅读 diffoscope
的 Python 来源,我发现 diffoscope
需要路径中名为 procyon-decompiler
的可执行文件。
/usr/lib/python3/dist-packages/diffoscope/comparators/java.py:L40
:
@tool_required('procyon-decompiler')
def cmdline(self):
return ['procyon-decompiler', '-ec', self.path]
在 Ubuntu Bionic 中,procyon-decompiler
软件包将 Procyon 安装为 procyon
而不是 procyon-decompiler
。我通过创建一个符号 link 来完成这项工作。例如:
ln -s /usr/bin/procyon ~/.local/bin/procyon-decompiler
我在 Ubuntu Bionic 上使用 运行 Diffoscope,当我打开调试日志 (--debug
) 时,我注意到很多这样的行(每个 .class
文件一个在 JAR
):
diffoscope.comparators.java: Unable to find ProcyonDecompiler. Falling back...
我安装了软件包 procyon-decompiler
,但错误仍然存在。如何使 Diffoscope 与 Procyon 一起使用?我找不到关于此集成的任何文档!
通过阅读 diffoscope
的 Python 来源,我发现 diffoscope
需要路径中名为 procyon-decompiler
的可执行文件。
/usr/lib/python3/dist-packages/diffoscope/comparators/java.py:L40
:
@tool_required('procyon-decompiler')
def cmdline(self):
return ['procyon-decompiler', '-ec', self.path]
在 Ubuntu Bionic 中,procyon-decompiler
软件包将 Procyon 安装为 procyon
而不是 procyon-decompiler
。我通过创建一个符号 link 来完成这项工作。例如:
ln -s /usr/bin/procyon ~/.local/bin/procyon-decompiler