上一篇讲了自定义 Gradle 插件,进入一个全新场景——车载开发。Android Automotive OS(AAOS)是 Google 推出的车机系统,和手机 Android 是不同形态:屏幕更大、交互靠触摸+语音+按键、无网络时也要能用。开发体验差别很大。 AAOS 是什么 AAOS 是给车载
上一篇讲了 AMS/WMS 系统服务,回到编译期生态——Gradle 插件是 Android 工程效率的底层能力。学会写自定义插件,能把团队里"人肉执行"的流程一键自动化。这一篇从 AGP 的字节码插桩 API 入手。 Gradle 插件的能力边界 Gradle 插件能做的事情:
上一篇讲了 Flutter 互操作,回到 Android 本体。这篇钻进系统服务——WMS 和 AMS。它们管理所有应用的生命周期和窗口,却 99% 的工程师没读过源码。读一次,理解力直接上台阶。 两个最忙的服务 AMS(Activity Manager Service)和 WMS(Window M
上一篇讲了热修复,这篇切换到跨平台——Flutter 如何调用 Android 原生能力。Flutter 的 UI 用 Dart 写,但 Android 平台能力(相机、蓝牙、分享、传感器)还是要靠原生。Platform Channel 就是桥接它们的双向通道。 为什么需要 Platform Cha
上一篇讲了 ASM 字节码插桩,这篇是它的实战应用——热修复。线上 App 出了 bug,难道只能等下个版本?热修复让用户无感知就修好。理解它的原理能让你对 Android 类加载、dex 机制有全新认识。 什么是热修复 线上 App 出现紧急 bug(崩溃、白屏、严重逻辑错误)时,无需发版,用户下
上一篇讲了 Kotlin 编译器插件能在源码层改代码,这篇说字节码层——ASM。性能监控、无埋点统计、热修复都靠它。比编译器插件暴力,但更底层、更稳定。 什么是字节码插桩 Java/Kotlin 编译完生成 .class 文件,里面是 JVM 字节码指令。插桩就是在编译产物上插入额外指令,比如: /
上一篇聊了代码质量保障,这篇钻进 Kotlin 编译器插件。Compose 的 @Composable、KSP 的 @Inject、Room 的 @Dao 都是编译器插件的产物。理解它,才能从"调 API"升级到"造 API"。 什么是 Kotlin 编译器插件 Kotlin 编译器分 Fronte
上一篇聊了 Lifecycle 源码,这篇聊聊代码质量保障工具链。代码质量不是靠 code review 人肉盯出来的,而是靠工具在 CI 和 IDE 层面拦截。Lint、ktlint、detekt 三件套配合好了,大部分低级问题在提交前就挡住了。 三种工具的分工
上一篇聊了 Compose Multiplatform,这篇回到 Jetpack 基础设施。Lifecycle、LiveData、ViewModel 是 Android 架构组件的三件套,天天用但底层怎么实现的?理解源码对排查内存泄漏、数据丢失等问题很有帮助。 Lifecycle 的实现原理 核心接
上一篇聊了逆向工程,这篇回到跨平台方向。之前第 30 篇聊过 KMM(Kotlin Multiplatform Mobile),那是共享业务逻辑。Compose Multiplatform 更进一步——共享 UI 代码。一套 Composable 同时跑在 Android、iOS、桌面、Web 上,