前言

  • 前一篇,我们介绍了gradle插件的整体使用,和asm的一些基础知识
  • 其实按照博主自己的经验来看,ASM我也没有系统地进行过学习,因为里面涉及到的内容确是比较庞杂。而我们平时插桩过程中,使用到的知识点并不是特别的海量。
  • 有需要的时候,再去针对部分盲点进行学习就好了。
  • 因此,这一篇,我们来真的聊一聊字节码

前言

  • 前一篇文章,我们讲了gradle插件从创建到执行的整体链路。
  • 接下来我们来过一过字节码插桩的一些必备的知识点。
  • 本系列的ASM插桩教程,是根据笔者自己探索得来的一些总结。因为也是在摸索中学习,所以有说的不对的地方,请大家评论指正。
  • 或者在学习之余,大家一起交流交流。

ASM

  • 这是一次给小白的ASM字节码插桩的入门逻辑。
  • 由于研究了一下美团的Robust库的玩法,了解到了字节码插桩的一些基础知识,于是简单学习了一下ASM字节码插桩的使用。
  • 这是我从上手开始进行插桩的整体链路过程,虽然只是初探,但是也确实学习到了不少东西。在这里给有兴趣的同学,做一个引入吧。

基础知识

依赖冲突问题由来:

  • Android开发中,我们使用第三方依赖库实在太正常不过了。
  • 最基本的一些三方库,比如图片缓存的Glide、网络请求的Retrofix、流式API的RxJava等。
  • 但是往往工程项目增大之后,我们还涉及到组件化的问题。当我们把Module拆分的足够精细的时候。三方依赖的问题就会显得十分突出。