如何简单 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,拷贝过来直接自动帮你转了,很方便。

相关推荐
沐怡旸2 小时前
【底层机制】 Android ION内存分配器深度解析
android·面试
你听得到113 小时前
肝了半个月,我用 Flutter 写了个功能强大的图片编辑器,告别image_cropper
android·前端·flutter
KevinWang_3 小时前
Android 原生 app 和 WebView 如何交互?
android
用户69371750013843 小时前
Android Studio中Gradle、AGP、Java 版本关系:不再被构建折磨!
android·android studio
杨筱毅4 小时前
【底层机制】Android低内存管理机制深度解析
android·底层机制
二流小码农4 小时前
鸿蒙开发:this的指向问题
android·ios·harmonyos
循环不息优化不止5 小时前
Jetpack Compose 状态管理
android
友人.2276 小时前
Android 底部导航栏 (BottomNavigationView) 制作教程
android
努力学习的小廉7 小时前
初识MYSQL —— 事务
android·mysql·adb