- 标签
- Android 构建
Android 工程实践四则:热修复原理、OKio、Dagger 与 64 位适配
本文总结Android四项工程实践要点:热修复通过插入DEX文件至ClassLoader路径优先级实现运行时加载更新,但需避免已加载类不可替换、涉及资源/原生代码或第三方库版本限制等问题;OKio采用分段式缓存降低IO开销,显著优于原生流,需注意及时关闭资源、分段读取大文件及协程取消响应;Dagger编译期生成依赖组件图,支持延迟注入和懒加载,需控制多Module组件依赖规模并保持ProGuard兼容;64位适配需确保原生库arm64-v8a共存,警惕第三方库32位残留和JNI宽度陷阱,应用上架前须验证64位模拟器加载。读者可快速掌握各方案核心机制、错误防范及适用场景,高效规划工程实施路径。
- 2026/09/16 14:22
- 8
- 0
- 0
- 24.8℃
Gradle:利用 [bundles] 消除冗余的依赖声明
在大型 Android 项目中,有些依赖库往往是“全家桶”出现的。比如: 网络请求:Retrofit + OkHttp + GSON 转换器 + 日志拦截器。 Jetpack Compose:Compose UI + Material 3 + Tooling + Activity Compose。
- 2026/02/22 16:37
- 23
- 0
- 0
- 26.3℃
Gradle:告别 ext 与 buildscript:老项目平滑迁移到 libs.versions.toml 全记录
接手一个几年历史的老项目,打开 build.gradle,映入眼帘的往往是臃肿的 buildscript 块、散落各处的 ext { ... } 变量,以及各个子模块里相互打架的版本号。 如果你想让项目焕然一新,接入 Gradle 官方推荐的 Version Catalog (TOML) 是必经之路
- 2026/02/22 16:34
- 24
- 0
- 0
- 26.4℃
Gradle:深入理解Version Catalog、libs.versions.toml、alias 与 apply false
升级一个 Gradle 插件或者库的版本,你需要在十几个 build.gradle 文件里疯狂搜索、替换,稍有不慎就会因为版本不一致导致编译失败。为了解决这个问题,Gradle 经历了从 ext 闭包管理到 buildSrc 的演进,最终在 Gradle 7.0+ 拿出了目前的终极方案:Versio
- 2026/02/22 16:21
- 26
- 0
- 0
- 26.6℃
Gradle: Plugins 引入与 Classpath 引入:到底有啥区别?
在配置 Android 或 Java 项目时,你一定见过两种引入插件的方式:一种是在 plugins {} 块里写 id,另一种是在 buildscript {} 里写 classpath。 很多同学会觉得:“能跑就行,管它什么区别?”但当项目变大、构建变慢或者依赖冲突时,搞不清楚这两者的逻辑就会让
- 2026/02/22 15:44
- 15
- 0
- 0
- 25.5℃