修改JAR包内容并重新打包

Posted 福州-司马懿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改JAR包内容并重新打包相关的知识,希望对你有一定的参考价值。

最近碰到一个棘手的问题:客户要定制接口,然后他们发了一个旧版的JAR包,其中有几个接口在新的文档上面已经去掉了。但是由于他们文档定制和程序不同步,所以那边的程序员拒绝现在修改。牛逼到屌爆了,于是乎自能自己修改。。。

首先用 Java Decompiler (JD-GUI、JD-Core)打开 JAR 包,然后找到待修改的文件

File -> Save,把它保存成 java

用记事本修改,然后使用 javac 命令将 JAVA 文件编译成 CLASS 文件,javac 语法如下:

javac -classpath <dependence jar> <source files>

注意点:
(1) -classpath 可以用 -cp 简写
(2)多个依赖的JAR包,LINUX下用“:”分割,WINDOW下用“;”分割
(3)多个源文件用空格分隔,也可以使用诸如“*”之类的通配符

例如:

javac -cp ‪D:\\Desktop\\test.jar;D:\\software\\android\\sdk\\platforms\\android-27\\android.jar test1.java test2.java
或
javac -cp ‪D:\\Desktop\\test.jar;D:\\software\\android\\sdk\\platforms\\android-27\\android.jar *.java

最后用“压缩软件”打开 JAR 包,再编译好的 CLASS 文件替换到相应的位置即可。

以上是关于修改JAR包内容并重新打包的主要内容,如果未能解决你的问题,请参考以下文章

修改jar包名

1、2个jar包相互引用,修改了其中一个jar重新打包,另外一个需要重新打包吗?需要的话,jdk那些版本需要呢

修改jar源码,重新打包

Java-----jar反编译修改重新打包

Android 逆向修改 Android 的 apk 安装包内的文件并重新打包 ( apktool_2.6.0.jar 下载和使用 | zipalign 文件对齐 | apksigner 签名 )

一个jar包,其中有个a.class和a$1.class,如何修改