安卓Gradle插件开发-ASM字节码修改-AutoRegister实现8

继续上节课 丰富我们的CategoryManager我们是要把代码写入到static代码块中 所以我们有一个地方要改

image.png

改完我们测试一下

构建完了 我们看看transform里的categorymanager有没有变化

image.png

我们发现并没有static静态代码块
其实原因很简单 因为我们之前扫描记录的是源文件 但是我们输出的是重命名之后的文件
我们改一下这里


image.png

我们改成transform的那个目录文件

image.png

我们测试一下


image.png

报错了 说找不到 这个文件 我们看一下

image.png

不能用entryname 它被去掉了。class 对吧


image.png

生成成功

但是其实有很多同学在这里会失败 因为我之前的代码有一个地方没写完

看看这里

报错了
image.png

循环引用 同时空指针 而且还把电脑卡了一下 所以大家一定要注意这里

image.png

记得把这里返回一下 否则就会报错 好了 我们运行一下app
看看能不能把我们的categoryA打印出来
电脑机器极差 稍等


image.png

成功打印 这个就已经注入成功 基本的asm操作大家都了解了

这节课over

你可能感兴趣的:(安卓Gradle插件开发-ASM字节码修改-AutoRegister实现8)