Android实用

删除Jar包中的.class文件,并重新打包

2022-07-03  本文已影响0人  红鲤鱼与绿鲤鱼与驴与鱼

这两天在对接向日葵远程控制功能,需要把控制端被控制端 的SDK集成到同一个项目中,但是由于两个Jar包里面包含着相同的包名+文件

被控制端的Jar包.jpg
被控制端的Jar包.png
这两个Jar包下都有相同的class,向日葵对接文档中说是要删除其中一个Jar包的class文件,并重新打包即可。经过多次尝试确实可行

如何删除class文件,因为我们不涉及到修改Jar包中的代码,只是删除文件,只需要将Jar包解压,然后将对应的重复文件删除就行
重点是如何再将剩下的class打成jar包,直接压缩是肯定不行的。在Jdk 中 有个命令叫 jar

jar 命令.png
看下面的两个示例应该了解的差不多
首先将目录定位到刚才解压开的文件夹
image.png
不要进入到里面
image.png

还有一点需要注意的是 一个Jar包有都会有一个清单文件,他在 META-INF 文件夹中 叫做 MANIFEST.MF
他自己的Jar包会带一个清单文件, 我们一会自己生成的Jar包也会有一个文件,注意的是如果这两个清单文件生成的目录相同那就万事大吉,但是如果我们自己生成的清单和他自己Jar包中的清单不在同一个目录那就会报错

(忽略这个文件夹的名字)


原Jar包中的清单.png

只需要将Jar包剪切到这个地方就好了,接下来就是使用命令直接打包


image.png

jar cvfm classes.jar C:\Users\用户名\Desktop\testJar\sunlogincontrol-1.4\META-INF\MANIFEST.MF -C sunlogincontrol-1.4\ .
解释一下命令的组成部分

image.png

最后生成 的文件


image.png

有其他想法的或者有疑问的可以联系我 173404236@qq.com

上一篇 下一篇

猜你喜欢

热点阅读