Android Gradle插件(AGP)版本迭代迅速,核心编译API从Transform API迁移到Instrumentation API,插桩方案需要动态适配不同版本。解决方案是AGP版本动态适配策略:在插件入口处运行时动态检测AGP版本,选择相应实现。对于AGP 7+版本使用Google官方推荐的Instrumentation API,这种方式更高效稳定;对于老版本AGP使用旧版Transform API处理字节码转换。具体实现是通过classExists方法检测特定API类是否存在来判断版本,如检测AsmClassVisitorFactory类存在则使用新API,检测Transform类存在则使用旧API。整个适配过程对开发者完全透明,无需手动配置。Transform API在AGP 8起已被移除,Instrumentation API在AGP 7引入并在AGP 8强制使用。




