原项目地址:lijiankun24 / Koala
文件结构:
文件结构:
|--app // demo
|--buildSrc // asm代码
|--koala // 核心代码
原理:
koala中,定义注解和逻辑代码,即实现方法的入参、返回结果和执行耗时等功能app中,在目标方法上添加@KoalaLog注解buildSrc中,通过Android Gradle Plugin(AGP)的Transform API在编译生成.class文件后,利用asm获取所有方法的信息,在包含的KoalaLog注解的方法中,添加(实现方法的入参、返回结果和执行耗时等功能的)代码,具体实现在com.lijiankun24.koala.KoalaLogMethodVisitor#onMethodEnter