背景
Android 项目中使用了第三方库,但是对原有的逻辑需要作出一些调整,结合网上找到的一些方法,最终实现了修改 jar 包中的 class 文件内容,操作已十分简单。
具体操作
-
直接在 Android Studio 打开项目,如果是 java 项目直接用 IntelliJ IDEA ,两者都可以反编译 jar 中的 class,无需使用 jd-gui。
-
在 jar 包中找到要修改的 class,并在项目中创建同包名、文件名的 java 文件。
如上图所示,我要修改的文件是
cn.cloudwalk.edge.EdgeClient.class
这个文件,所以在项目中创建了同样的一个 java 文件。
-
复制 class 文件中代码到 java 文件中,并按照需要修改逻辑。
-
重新 build 项目,在
build/intermediates
中找到 java 文件生成的 class。如下图所示,不同的 gradle 版本生成的文件目录可能不一样。
- 将 jar 包后缀改为
.zip
并解压,并用新生成的全部 class 文件覆盖掉原来的文件。
- 最后,重新 zip 压缩 jar 包文件夹下的内容,修改后缀为
.jar
。
网友评论