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

相关推荐
renxhui17 小时前
Dart 速通攻略(面向 Android 工程师)
android·flutter·dart
Frank_HarmonyOS17 小时前
MVI模式
android
m***98217 小时前
Redis6.2.6下载和安装
android·前端·后端
未来之窗软件服务17 小时前
幽冥大陆(三十九)php二维数组去重——东方仙盟筑基期
android·开发语言·算法·php·仙盟创梦ide·东方仙盟·东方仙盟sdk
w***42418 小时前
【mysql部署】在ubuntu22.04上安装和配置mysql教程
android·mysql·adb
e***753918 小时前
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
android·sql·mysql
道路与代码之旅18 小时前
“变量也能是函数?——论 Kotlin 中那些会说话的变量,以及它们如何让代码少说废话”
android·开发语言·kotlin
x***010618 小时前
Mysql之主从复制
android·数据库·mysql
千里马学框架18 小时前
wms开发常用调试开发技巧之WMShell的实用命令
android·framework·wms·安卓framework开发·systemui·proto·wmshell
龙之叶18 小时前
MT8766平台Android 12系统ESIM功能实现指南
android