前置技术背景
Gradle Plugin
Gradle Transform API
Bytecode Mannipulaion Library
注:Gradle Transform API + Bytecode Mannipulaion Library是现今进行bytecode-level的元编程的最好的解决方案,早期版本出现过的基于JVM的agent机制,在近年Google IO宣布要加大在build-tool等Android开发周边环境的支持的形式下,而且确实近两年build-tool的不断的迭代,如果依旧使用这种方式会在某种程度上带来今后维护上的风险
项目概述
项目地址:https://github.com/Leaking/Hunter
结论
1. 项目内有几个ready-to-use的例子,可以用来学习
2. 如果已经掌握了Gradle插件的编写,而且又对于Bytecode Manipulation Library有一定的认识,那么就会知道,类似于Hunter项目的实现,从工程的角度而言最大的问题在于主要实现逻辑不能通用,大部分代码其实是针对某一种功能和业务而实现,因而我认为如何在这个基础之上提供更高的程度的封装才是值得努力的方向,不解决这个问题最多只能是称为实现某种单一功能的库,而不能称为所谓的xxx框架,而且从工程管理的角度而言,如果每实现一个功能就要改动在build这个domain的代码,那是不应该的,毕竟是作为infrastructure的代码
网友评论