资讯专栏INFORMATION COLUMN

快捷修改jar包代码

null1145 / 2975人阅读

摘要:所以想到改一下里面的代码。目的仅分享这种修改包的方法。思路三部分修改,编译用反编译打开包,拷贝代码。新建工程,导入修改后的,新建包,新建,把第一步的代码拷贝过来,修改代码注意包名类名要一样。

背景:最近团队维护项目,涉及到文件下载,之前使用aliyun-oss-sdk-android-2.3.0.jar下载OSS的文件,现在添加文件服务器,参考了aliyun-oss的断点续传下载机制,后来发现aliyun-oss的库默认就写死了80端口,但是我们的文件服务器不是80端口。所以想到改一下里面的代码。
目的:仅分享这种修改jar包的方法。
思路一:直接写下载代码

一大堆续传逻辑,需要编写调试验证;

临发布才发现有这种问题。

最终因为时间紧迫,考虑其他方案。

思路二:拉源代码修改

这种思路还是比较科学的,只是在此时想到了思路三,然后就尝试了一番。

思路三:部分修改,编译

用JD-GUI(反编译)打开aliyun-oss-sdk-android-2.3.0.jar包,拷贝com.alibaba.sdk.android.oss.internal.RequestMessage代码。

用7z打开aliyun-oss-sdk-android-2.3.0.jar包,删掉com.alibaba.sdk.android.oss.internal.RequestMessage.class。

新建工程,导入修改后的aliyun-oss-sdk-android-2.3.0.jar,新建com.alibaba.sdk.android.oss.internal包,新建RequestMessage.java,把第一步的代码拷贝过来,修改代码:

int originPort = this.endpoint.getPort();
String baseURL = scheme + "://" + urlHost + (originPort <= 0 ? "" : ":" + originPort);

注意:包名类名要一样。

编译。

把target下com.alibaba.sdk.android.oss.internal.RequestMessage.class用7z拉回jar包的com.alibaba.sdk.android.oss.internal。

完成。

总结:拷贝代码,删掉jar包里的class,修改代码,编译生成class,拉回jar包。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77548.html

相关文章

  • Eclipse快捷键 文档 jar 4、修饰符混合5、何时定义变量为成员变量 6、类、抽象类、接

    摘要:当遇到方法参数为抽象类类型时,要传入一个实现抽象类所有抽象方法的子类对象。根据向酒店中,增加多名员工其中包含名经理,名厨师名服务员。 01eclipse快捷键 * A:  Ctrl+T:查看所选中类的继承树 例如,在下面代码中,选中Teacher类名,然后按Ctrl+T,就会显示出Teacher类的继承关系 * B: 查看所选中方法的源代码 Ctrl+...

    tinysun1234 评论0 收藏0
  • 如何把phpStorm打造成自己的专属IDE?

    摘要:本身是一款收费的软件,有经济基础的还是建议购买注册号,支持正版。选择自己喜欢的风格,即可。如何安装自己下载的主题在官方主题下载自己喜欢的主题,下载下来的是格式的,然后将文件拷贝到的配置目录里。 php开发神器之一,必然会说到phpStorm,工具的强大之处是有目共睹的,开发工具即使再强大,功能再齐全,也是一种工具,重要的是你怎么看待它和使用它。之前一直用的zend studio,最近试...

    Forelax 评论0 收藏0
  • IntelliJ IDEA2017创建web工程并实现远程部署tomcat

    摘要:刚刚接触这款神器,很多东西都在摸索中,对于像在及中创建动态工程那样简单的事在中也搞了好久,今天我就分享一下本菜鸟痛苦的学习过程,下面是我的总结,希望对大家有一点帮助。远程部署运行测试或到服务器上看一下 刚刚接触IntelliJ IDEA这款神器,很多东西都在摸索中,对于像在eclipse及myeclipse中创建动态web工程那样简单的事在idea中也搞了好久,今天我就分享一下本菜鸟痛...

    chunquedong 评论0 收藏0
  • IntelliJ IDEA 18 周岁,吐血推进珍藏已久的必装插件

    摘要:代码规约扫描插件以今年年初发布的阿里巴巴开发规约为标准,作为的插件形式存在,检测代码中存在不规范得位置然后给予提示。 IntelliJ IDEA是目前最好最强最智能的Java IDE,前几天,他刚刚年满18岁。 showImg(https://segmentfault.com/img/remote/1460000017974611); 本文,给大家推荐几款我私藏已久的,自己经常使用的...

    赵春朋 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<