Android_Question icon indicating copy to clipboard operation
Android_Question copied to clipboard

开发过程中如果想替换第三方jar中的某个class文件,或者在开发时你的class文件与jar中的重名,但是你想使用自己的应该如何解决?如果你替换掉某个方法又该怎么解决?

Open whatshappen opened this issue 5 years ago • 8 comments

方式一:可以获取到jar的源码或者将jar反编译获取到java项目,然后替换掉自己想要的.java文件或者方法; 方式二:可以通过类加载器将目标class替换成自己的class;

whatshappen avatar Apr 02 '19 14:04 whatshappen

666,我都是叫SDK提供方帮我删

q514414232 avatar Apr 03 '19 01:04 q514414232

666,我都是叫SDK提供方帮我删

小胖真不要脸

ADrunkenLiBai avatar Apr 03 '19 01:04 ADrunkenLiBai

666,我都是叫SDK提供方帮我删

what?

whatshappen avatar Apr 03 '19 09:04 whatshappen

一般直接用rar打开,然后替换掉相应的class。

xiaoxiong1989821 avatar Apr 09 '19 01:04 xiaoxiong1989821

一般直接用rar打开,然后替换掉相应的class。

可是这样怎么打回jar包呢

IdioticMadman avatar Apr 09 '19 13:04 IdioticMadman

一般直接用rar打开,然后替换掉相应的class。

可是这样怎么打回jar包呢

一般直接用rar打开,然后替换掉相应的class。

可是这样怎么打回jar包呢

哦,不好意思,搞错了,是修改jar里的依赖包可以用这个方法,修改class文件还没试过,操作完直接退出来就可以了。

xiaoxiong1989821 avatar Apr 10 '19 01:04 xiaoxiong1989821

一般直接用rar打开,然后替换掉相应的class。

可是这样怎么打回jar包呢

哦,不好意思,搞错了,是修改jar里的依赖包可以用这个方法,修改class文件还没试过,操作完直接退出来就可以了。

你这样直接改了class,里面要是有验证的话,不是不能通过了

IdioticMadman avatar Apr 10 '19 12:04 IdioticMadman

最常见的,框架类的sdk,就是 copy进项目文件夹,有能力的自己改。但是后续sdk升级,维护成本随着时间会提高。后续其他人接手 && 自己修改点和官方修改点重复 && 当初交接文档不全的话,接手的人会比较头疼。 另外像银行公家的这种sdk还是提工单让他们自己去改

zsmjhtn avatar Apr 14 '19 04:04 zsmjhtn