如何简单 hack agp 执行过程中的某个类

霍老师的开源项目

github.com/bennyhuo/Ha...

这个很好的解决了,viewbinding 默认是生成 ,只有手动设置属性才不生成的问题

假设你是一个老项目,有几百个 xml 文件,你接入了 viewbinding, 这几百个 xml 全都给你生成了 也不管你需要不需要,这是多么恶心的一件事。 霍老师 这个项目完美解决了这个问题。

只是项目过老了, 目前主流 app 都是 agp8+了,这里面代码可能要修改下。 这里提供下修改方法,掌握了以后

利用好类的双亲委托加载机制 就可以做很多 agp 的 hack 了

找到你要 hack 的类

记住这个类的包名,你要放到 buildSrc 下 ,包名不要错了,保持一致。

这个时候 你需要 带着这个类所属的 aar 去 google 一下,因为你拷贝出来的类 需要一些依赖,你要知道这些依赖在哪里 ,否则还是 build 失败。

比如说我们这里就是要找到这个地址

mvnrepository.com/artifact/an...

然后找到 pom 文件

打开

选择你需要的依赖 复制到 buildSrc 下的 gradle 文件中即可。

这里 as 做的挺智能的,你复制的是 maven 的 xml,拷贝过来直接自动帮你转了,很方便。

相关推荐
xiangpanf4 小时前
Laravel 10.x重磅升级:五大核心特性解析
android
robotx7 小时前
安卓线程相关
android
消失的旧时光-19437 小时前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
dalancon8 小时前
VSYNC 信号流程分析 (Android 14)
android
dalancon8 小时前
VSYNC 信号完整流程2
android
dalancon8 小时前
SurfaceFlinger 上帧后 releaseBuffer 完整流程分析
android
用户69371750013849 小时前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能
程序员Android10 小时前
Android 刷新一帧流程trace拆解
android
墨狂之逸才10 小时前
解决 Android/Gradle 编译报错:Comparison method violates its general contract!
android
阿明的小蝴蝶11 小时前
记一次Gradle环境的编译问题与解决
android·前端·gradle