tinker 8.0系统上bug定位

发布tinker碰到如下问题,并且只在8.0系统上发生

Shared library "/data/app/*******-Z5ZCyS3XSWi-YuHiG2CFGQ==/lib/arm/libbridge.so" already opened by ClassLoader 0x2b7; can't open in ClassLoader 0xff912a74 ****.jni.JNIUtils.<clinit>(JNIUtils.java:15)

打开补丁包一看里面包含了一些so文件,而这些so并没有修改,这是为什么呢....

对比base包和新打出来的包发现一些so大小不一样.....

初步猜想是AS的配置有关系,base的包是同事的机器上面打的,在他上面打出来的patch就不包含未修改的so

因为我电脑上打出来的有些so和他电脑上面打出来的大小不一样。

所以以后打好patch包一定要检查有没有把一些未修改的so打入,如果一直莫名其妙被打入,可以在tinker中把so的变动忽略掉。

到底是AS哪里的配置导致的现在还没查出来,后面会继续追究。

8.0上面的这个so被重复加载的bug,猜想仅刚刚修复完成的时候tinker把当前的进程kill掉引起的,后面不会再出现了

 

总结:发热修复需要检查有没有多余的so被打入patch,如果打入了在8.0上回引起同个so被多个classloader打开的异常。

待确认问题:

1.    8.0机型上面如何复现

2.    为什么不同的机器上打出来包有些so大小不一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值