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

相关推荐
2603_9494621029 分钟前
Flutter for OpenHarmony社团管理App实战:预算管理实现
android·javascript·flutter
王泰虎2 小时前
安卓开发日记,因为JCenter 关闭导致加载不了三方库应该怎么办
android
2601_949543016 小时前
Flutter for OpenHarmony垃圾分类指南App实战:主题配置实现
android·flutter
2601_949833397 小时前
flutter_for_openharmony口腔护理app实战+知识实现
android·javascript·flutter
晚霞的不甘7 小时前
Flutter for OpenHarmony从基础到专业:深度解析新版番茄钟的倒计时优化
android·flutter·ui·正则表达式·前端框架·鸿蒙
鸟儿不吃草8 小时前
android的Retrofit请求https://192.168.43.73:8080/报错:Handshake failed
android·retrofit
Minilinux20188 小时前
Android音频系列(09)-AudioPolicyManager代码解析
android·音视频·apm·audiopolicy·音频策略
李子红了时8 小时前
【无标题】
android
Android系统攻城狮9 小时前
Android tinyalsa深度解析之pcm_close调用流程与实战(一百零四)
android·pcm·tinyalsa·音频进阶·音频性能实战·android hal
weixin_411191849 小时前
LifecycleEventObserver和DefaultLifecycleObserver使用
android