美文网首页
使用Nuwa等热修复插件遇到的坑

使用Nuwa等热修复插件遇到的坑

作者: 2ece9f02c806 | 来源:发表于2016-10-13 08:46 被阅读101次

前段时间试用了下Nuwa做热修复,后来发现这个项目作者久不维护了,于是决定放弃,改用rocoofix。
但是等我把相关代码,插件删除后发现我的项目编译不过了,一直报找不到Hack.class,就算删除工程重新checkout一份新的都没用,无奈先放在一边不处理,今天突然发现用了rocoofix后libs里的jar包有修改,猜想应该是rocoofix插件改的,于是diff一下:

Paste_Image.png

可以看到jar包中的.class文件都有被修改,主要是加了一个System.out.println(Hack.class);这个是热修复的原理,这里不解释。
同时也看到相同的代码被插件植入三次(猜想生成一次patch就植入一次,不是很合理!)

看到这里,我就明白之前Nuwa为什么说找不到Hack.class了,因为项目中用到的远程jar包都被植入了Hack.class,当我移除Nuwa时,Hack类也就删了,然而jar包还在引用,所以报错。

那么解决的办法就出来了,到.gradle/cache/下把jar全删了,再重新下。

相关文章

  • 使用Nuwa等热修复插件遇到的坑

    前段时间试用了下Nuwa做热修复,后来发现这个项目作者久不维护了,于是决定放弃,改用rocoofix。但是等我把相...

  • Transform详解

    推荐先看几篇文章:1.Android 热修复使用Gradle Plugin1.5改造Nuwa插件2.GradleT...

  • 项目用到的一些工具

    1.nuwa 用来做热修复,其原理是基于qq空间团队的热修复方案。 nuwa热修复 2.infer infer是f...

  • 章鱼热修复选型

    热修复方案选择 市面上出现过的热修复方案很多,较为热门的有QQ空间方案的Nuwa、微信的Tinker、阿里的And...

  • Android拿高薪面试题必看,

    插件化、热修复 、热更新的理解 插件化 – apk 分为宿主和插件部分,插件在需要的时候才加载进来 热修复 – 更...

  • Android高薪面试题汇录

    插件化、热修复 、热更新的理解 插件化 – apk 分为宿主和插件部分,插件在需要的时候才加载进来 热修复 – 更...

  • Android插件化

    目前较为成熟的热修复框架主要有AndFix、Nuwa,滴滴的VirturalApk,360以及微信的热更新思想。Q...

  • 测试技巧与示例

    1 使用Jrebel热更新插件以及XRebel性能分析插件 以达到快速修复的目的 2 使用Junit单元测试 可以...

  • Tinker热修复遇到的坑

    第一坑 appVersion = "1.0.0" 这个参数的官方注释 /** 注意: 若发布新的全量包, appV...

  • 热修复相关

    业界热修复流派 基于MultiDex的Dex注入代表:Tinker,手Q空间,Nuwa原理:将补丁Dex对应的De...

网友评论

      本文标题:使用Nuwa等热修复插件遇到的坑

      本文链接:https://www.haomeiwen.com/subject/yffwyttx.html