Android动态替换jar包或者aar中的类

Android动态替换jar包或者aar中的类

项目中使用第三方的库,库里面的某个方法,处理逻辑有bug或者想不让让他执行,但是此方法调用方的代码又无法去修改,或者编译是刚好有重复的类,一个类这种情况,有什么方式可以去处理了?

我们可以用类加载的优先级

  1. 在自己的项目目录下,创建一个和jar包中类相同路径的包,
  2. 将此类的源码复制过来,修改需要修改的方法
  3. 删除原来jar包或者aar中的类

操作如下:

  1. 解压jar或者aar
unzip ×××sdk.aar -d sdkjar
  1. 找到classes.jar包,用zip压缩工具打开,找到对应的class文件,并删除

  2. 将sdkjar重新打包成一个新的aar

jar cvf ×××sdk-new.aar -C sdkjar .

之后依赖新的jar或者aar和自己项目中的复制修改后的类,编译项目

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值