一、ASM库的使用
倒入asm的库:implementation 'org.ow2.asm:asm:7.1'
implementation 'org.ow2.asm:asm-commons:7.1'

二、ASM的框架使用
1.Transfrom : 是在.class文件转化为.dex之前做一些插桩处理,它是在混淆之前做的处理

2.Transfrom Scope的作用域:

作为借鉴的demo : https://www.jianshu.com/p/f1bd232e7a62
官方文档网址:https://asm.ow2.io/index.html
3.ASM作用的范围
ASM:它是作用于.class文件
相比于APT的好处:它是基于原.class文件进行修改,代码无侵略性,使用方便,相比于JavaSSit性能会高
4.总结字节码、方法签名标志位
字节码使用:通过查看字节码工具去编写
方法签名标志位:除基本变量外,其他方法签名是L/字节码解析数据/;

三、案例演示
ClassVisitor、AnnotationVIsitor、FeildVisitor、MethodVisitor(可以继承AdviceAdapter)




网友评论