修改jar包中class文件并重新打包
步骤:
1、使用jd-gui查看jar文件或者把jar文件放到AndroidStudio中查看需要修改的X.class文件代码,复制出代码,在AndroidStudio中新建同名的X.java文件(新建javaLibModule),复制X.class文件中代码。
2、同步AndroidStudio工程,确保工程正确运行,并且X.java文件中没有引入新的包。
解压jar包
3、先进入X.jar所在目录(例如:在ss目录下,解压qssdk.jar包,jar -xvf X.jar)
jar -xvf X.jar
4、从AndoridStudio的build文件夹中找出来X.class文件,拷贝到解压后的jar包中
5、重新打jar包
jar -cvf X.jar ./
6、替换META-INF/MANIFEST.MF文件,到打包后的X.jar包中。用上一个命令打出的包,MANIFEST.MF文件中是没有入口类的信息的,需要更新正确的清单文件
jar umf META-INF/MANIFEST.MF X.jar
7、测试看是否能正常运行
补充
jar 命令的一些操作:
1、把A和Bclass文件加入到class.jar包中
jar cvf classes.jar A.class B.class
2、使用META-INF/MANIFEST.MF清单文件,将bytime目录内的所有文件打包成class.jar
jar cvfm classes.jar META-INF/MANIFEST.MF -C bytime/ .
3、更新META-INF/MANIFEST.MF清单文件
jar umf META-INF/MANIFEST.MF X.jar