Moshi 的代码生成,KSP 适配后的编译速度 Moshi 的代码生成,KSP 适配后的编译速度 Moshi 的代码生成,KSP 适配后的编译速度 从 KAPT 的编译噩梦说起 如果你用 Kotlin 写 Android 项目超过三年,大概率经历过 KAPT 的折磨。Moshi 作为 Square 出品的 JSON 解析库,早期版本依赖 KAPT 2026-06-21 tool 4
WireShark 抓包分析移动应用网络请求 WireShark 抓包分析移动应用网络请求 WireShark 抓包分析移动应用网络请求 WireShark 这个工具在桌面网络分析领域几乎是标配,但把它拉到移动应用开发场景里,事情就变得复杂不少。我见过太多开发者以为装个 WireShark 就能看穿 App 的所有网络行为,结果在 HTTPS 2026-06-21 tool 11
JRebel for Android 的热部署方案还在吗 JRebel for Android 的热部署方案还在吗 JRebel for Android 的热部署方案还在吗 JRebel 这个名字在 Android 开发圈子里已经沉寂了好几年。如果你是从 2015 年前后入行的开发者,可能还记得 ZeroTurnaround 公司那个绿色的火箭图标,以及它 2026-06-18 tool 9
adb 命令的高级用法,不只是安装卸载 adb 命令的高级用法,不只是安装卸载 「adb 命令的高级用法,不只是安装卸载」 大多数人第一次接触 adb 是在 Android Studio 的 logcat 窗口里,或者照着某个教程敲下 adb install app.apk。这个工具在 Android 开发工具链里存在感极强,但用法又极其 2026-06-17 tool 17
MockK 和 Mockito 的对比,Kotlin 项目怎么选 MockK 和 Mockito 的对比,Kotlin 项目怎么选 MockK 和 Mockito 的对比,Kotlin 项目怎么选 从一个编译错误说起 去年迁移一个老项目到 Kotlin 1.9 的时候,我遇到了一个挺典型的 Mockito 报错。大概长这样: org.mockito.excepti 2026-06-16 tool 4
Realm 数据库的现状,迁移到 Room 的经验 Realm 数据库的现状,迁移到 Room 的经验 Realm 数据库的现状,迁移到 Room 的经验 Realm 的收购与社区冷却 2020 年 MongoDB 宣布收购 Realm,这件事在当时看起来像是 NoSQL 移动数据库的一次胜利。Realm 的 GitHub 仓库 star 数一度接近 2026-06-15 tool 7
NinePatch 的绘制原理,还能用多久 NinePatch 的绘制原理,还能用多久 NinePatch 的绘制原理,还能用多久 Android 开发里有个老东西,从 1.0 时代活到现在,几乎每个项目都用过,但真去深究它怎么工作的开发者没几个。NinePatch,就是那个 .9.png 后缀的图,Google 官方文档叫它 "nine-p 2026-06-15 tool 12
Bugsnag 的错误聚合分析,堆栈可读性 Bugsnag 的错误聚合分析,堆栈可读性 Bugsnag 的错误聚合分析,堆栈可读性 从一次 Native Crash 的排查说起 去年维护一个包含大量 C++ 代码的 Android 项目时,我遇到了一个让人头疼的问题。线上 Firebase Crashlytics 报告显示某类崩溃发生了 12 2026-06-13 tool 9
C++ 和 Kotlin 的互操作,JNI 封装技巧 C++ 和 Kotlin 的互操作,JNI 封装技巧 C++ 和 Kotlin 的互操作,JNI 封装技巧 JNI 这玩意,Android 开发者都绕不开。Native 层有现成的 C++ 库要复用,或者性能敏感场景必须下到底层,总得打交道。但 JNI 的原始 API 写起来太折磨人了——FindC 2026-06-13 tool 10
Scrcpy 的投屏控制,开发者调试神器 Scrcpy 的投屏控制,开发者调试神器 Scrcpy 的投屏控制,开发者调试神器 从一次真机调试的崩溃说起 去年维护一个视频播放器项目时,我遇到了一个只在特定机型复现的 Surface 渲染异常。手头那台测试机屏幕碎了一半,触控层时灵时不灵,USB 调试倒是开着。当时我的调试流程是:插线、adb 2026-06-11 tool 22