首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
android aop
订阅
萌阿呆
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
Android 无所不能的 hook,让应用不再崩溃
之前推送了很多大厂分享,很多同学看完就觉得,大厂输出的理论知识居多,缺乏实践。 那这篇文章,我们将介绍一个大厂的库,这个库能够实打实的帮助大家解决一些问题。 今天的主角:初学者小张,资深研发老羊。 三
Android 方法插桩 Plugin 开发实践
在做应用启动速度优化时,需先了解启动阶段做了哪些耗时任务,分析 Application 的 attachBaseContext、onCreate 等关键方法,统计它们内部调用到的其他方法耗时。 分析要结合 systrace 工具,因为不仅要知道方法的 wall time,还要知…
【Deprecated】「Gradle」| 手把手自定义 Gradle 插件 | 七日打卡
1. 前置知识 2. Gradle 插件概述 Gradle 插件的本质就是抽取高度模块化的逻辑,以便更高效地进行复用。 Gradle 和 Gradle 插件是两个概念,在前面的文章里,你已经了解过 Gradle 的核心工作原理。简单来说,Gradle 只是提供了一个构建流程。而…
写个更牛逼的Transform | Plugin 进阶教程
还是我那个90年的老安卓,这算是一篇自吹自擂的装逼爽文。首先我写这个AndroidAutoTrack Demo的原因很简单,我就单纯觉得很好玩,然后同时其实对于自己的技术水平是会有成长的。我最近下班在优化以前写的自动化埋点。我看过很多文章介绍这个,但是我觉得都是一些入门相关的,…
一文学会Android Gradle Transform基础使用
最近在做一个在 Android 工程编译期间动态插入一些随机代码的需求,我选择的是 Gradle Transform 技术,想起好久没有写过博客了,就记录一下这方面的一些基本使用。 APT(Annotation Processing Tool): 编译期注解处理技术,通过自定义…
滴滴DoKit-Android核心原理揭秘之AOP字节码实现
最近DoKit V3.3.1版本已经发布了,新版本增加了很多重磅的功能,同时也在库的名字上对Androidx和Android support进行了区分。 感兴趣的小伙伴们赶快通过Android参考文档去升级体验吧。 业务代码零侵入一直是DoKit秉持的底线。 DoKit作为一款…
Android AOP方案(二)——ASM
ASM是一个通用的Java字节码操作和分析框架。它可以直接以二进制形式用于修改现有类或动态生成类。ASM提供了一些常见的字节码转换和分析算法,可以从中构建定制的复杂转换和代码分析工具。ASM提供了与其他Java字节码框架类似的功能,但是侧重于性能。因为它的设计和实现是尽可能的小…
反射埋点方案: 全局点击埋点代理OnClickListener SDK 编写
一. SDK业务背景 你在开发中是否遇到过这样的场景,当点击同一个dialog或者button的时候,如果暴击多次,该dialog或button的被点击行为会被瞬间执行多次,这时候有小伙伴可能要想了,我可以做一个view时间戳呀,让它延迟生效。 本文介绍的内容会详细解释以上问题…
字节码插桩(二): AspectJ + GradlePlugin
学习设计模式可以一定程度降低业务耦合度,不过那都是 OOP 的思想,今天我给大家带来一份 AOP 的切面编程思想,无侵入方式织入代码到业务。 一. 关键技术 是不是挺晦涩难懂的,我这边简单总结一下吧。 AOP 即 面向切面编程,通过 AOP ,可以在编译器对代码进行动态管理,以…
自定义Gradle插件检测函数耗时
上一篇文章讲解了Gralde的入门知识,其中讲到了如何自定义Gralde插件,本文就通过Asm和Transfrom来自定义一个简单的Gradle插件,这个Gradle插件它可以统计方法的耗时,并当方法的耗时超过阀值时,通过Log打印在控制台上,然后我们通过Log可以定位到耗时方…