Mac 安装 Java 反编译工具 JD-GUI
Mac 安装 Java 反编译工具 JD-GUI
Mac 安装 Java 反编译工具 JD-GUI
JD-GUI 是一款 Java 反编译工具,可以方便的将编译好的 .class
文件反编译为 .java
源码文件,用于开发调试、源码学习等。
官网地址:http://java-decompiler.github.io
Git 地址:https://github.com/java-decompiler/jd-gui
安装
方式一:
下载地址:https://github.com/java-decompiler/jd-gui/releases
选择对应平台的资源进行下载,这里可选择:jd-gui-osx-1.6.6.tar
方式二:
利用 brew 安装(该方式需要先安装 brew cask)打开终端窗口,输入下面命令:
brew cask install jd-gui
➜ brew cask install jd-gui
Error: Unknown command: cask
如果该命令找不到,可用下面的命令:
➜ ~ brew install --cask jd-gui
==> Downloading https://github.com/java-decompiler/jd-gui/releases/download/v1.6.6/jd-gui-osx-1.6.6.tar
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/32844456/fa071080-272d-11ea-8371-7bb24509723f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20211
######################################################################## 100.0%
==> Installing Cask jd-gui
==> Moving App 'JD-GUI.app' to '/Applications/JD-GUI.app'
🍺 jd-gui was successfully installed!
安装结果:
如果没有安装 brew cask,输入brew install --cask jd-gui
命令,可能会出现以下错误:
Error: Invalid cask: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/hazeover.rb
Cask 'hazeover' is unreadable: undefined method `csv' for "1.8.9,1050,10.13":Cask::DSL::Version
brew cask 可参考博客:https://blog.csdn.net/m0_46197393/article/details/106752367
使用
直接打开
注意事项
1.打开提示找不到合适的 Java 版本
查看 JD-GUI.app 中的内容(访达->应用程序->JD-GUI->右键 查看包内容),发现实际上还是执行的 JD-GUI 的 jar 包在JD-GUI.app/Contents/Resources
目录下,是通过sh脚本文件启动的,脚本文件在JD-GUI.app/Contents/MacOS/universalJavaApplicationStub.sh
中,修改该脚本文件即可。
可以看出该错误正是235行抛出的错误,这里主要是对Java版本做一个判断。
一个简单的处理办法就是,将其else分支中的内容改为 Java 命令的路径,而不是直接抛出错误。查看 Java 命令路径可以使用which java
➜ ~ which java
/usr/bin/java
2.解决在 macOS 下闪退问题
有时候,一台电脑上会装多个 JDK,需要注意的是,运行 JD-GUI 所需 Java 版本最高为 JDK 10.0.2(可在官网文档查看),否则会出现闪退、无法使用等问题,所以需要修改设置进行指定。
首先,使用如下命令,查看 jdk 的安装路径:
# 这里查找 1.8 的路径,根据自己电脑上JDK情况而定
➜ /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
其次,使用文本编辑器打开文件 /Applications/JD-GUI.app/Contents/MacOS/universalJavaApplicationStub.sh
,修改如下部分:
# first check system variable "$JAVA_HOME"
# 这里的配置默认找的是系统环境变量中配置的 jdk 版本
# 而我配置的是 Java11,所以直接运行的时候出现闪退而无法使用
# 这里需要直接写死 1.8 的路径
if [ -n "$JAVA_HOME" ] ; then
JAVACMD="/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/bin/java"
保存后,重新打开 JD-GUI.app 即可。
3.还是打不开
-
采用安装的方式一,直接解压打开,不要太执着;
-
使用 Java 命令运行
直接进去 cd 进入到JD-GUI.app/Contents/Resources/Java目录,然后
java -jar jd-gui-1.6.6-min.jar
(后面为你自己的jar包名字)来执行
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)