[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的字節碼插件平臺(或許,你可以把它當成一個有無限個插頭的插座?)。