[TOC]
优质文章:
字节码格式
class格式: Chapter 4. The class File Format
字节码指令
JVM指令集:Chapter 6. The Java Virtual Machine Instruction Set
局部变量表和操作数图解:
拉勾教育-Android工程师进阶34讲-第01讲:程序运行时,内存到底是如何进行分配的?
gradle
现在准备好告别Transform了吗? | 拥抱AGP7.0
ASM
ASM 插桩采集方法入参,出参及耗时信息
ps: 核心
①采集方法入参,局部变量表中的信息,然后转发出去
②kotlin编写gradle脚本
③对应项目shenzhen2017/Android-ASM
④gradle插件版本7.2
ClassVisitor 和 ClassNode配合使用
How to convert ClassVisitor to ClassNode in ASM java
ASM 4 教程中的示例代码
优质项目:
lenebf/GradlePluginTutorial
说明:
①gradle插件发布到本地仓库配置
②基于'com.android.tools.build:gradle:4.1.0'
;
③plugins + id等api的使用,publishing的使用
一个简单的click插件:
bjsdm/TestCode
ps:
①基于"com.android.tools.build:gradle:4.0.0"
②旧版的api使用,apply plugin
、uploadArchives
等
③发布到本地仓库
didi/booster
对AGP进行了不同版本间的适配
bytedance/ByteX
ByteX是一个基于gradle transform api和ASM的字节码插件平台(或许,你可以把它当成一个有无限个插头的插座?)。