1. 下载及运行 Recaf
地址:Recaf on GitHub,无需编译直接可用的 jar 包为带
with-dependencies后缀的,但是仍然需要带 JavaFX 的JDK 才能运行。
自测发现:
- openJDK 17, 报错退出,Log 显示缺少 JavaFX
- zulu-JDK8,提示
缺少 JavaFX,支持自动下载 JavaFX 需要使用 JDK11 及之后的版本 - zulu-JDK11 with JavaFX, 完美运行
2. 使用 Recaf 反编译
- 将 aar 重命名为 zip,并解压缩,得到 classes.jar
- 使用
java -jar recaf-xxx-jar-with-dependencies.jar运行 Recaf - 拖拽 classes.jar 到 Recaf,之后就可以对文件执行修改了
- 如果发现反编译的代码有问题,比如编辑界面有下图中
ConfusedCFRException的报错,可以到Config-Decompiler中选择其它的引擎再尝试反编译。
- 修改完成后,使用
File - Export program导出 jar
3. aar 重打包
- 将上一步导出的 jar,重命名为
classes.jar替换解压出的 aar 中的同名文件 - 终端使用
cd命令进入 aar 解压后的目录,使用zip -r <aar_name>.aar *将该目录下的所有文件夹压缩到名为<aar_name>.aar的文件中