Android基建开发大纲
作为 Android 开发者,想要把团队/项目的“地基”打牢,那么通常要做一套 基建 (Infrastructure),让业务代码只管开发功能,而通用问题由基建解决。
下面从工程实践角度盘点 Android 基建:
一、项目工程基建
多模块化/组件化架构
功能拆分为独立 module:
app
、core
、feature-xxx
好处:解耦、并行开发、加快编译。
技术点:Gradle 多模块、Dynamic Feature Module。
统一依赖管理
Gradle
libs.versions.toml
或buildSrc
统一管理第三方依赖版本。避免“依赖地狱”。
构建脚本 & 插件
常见:
gradle.properties
优化构建参数自研 Gradle 插件:统一配置、自动版本号、自动生成渠道包。
二、基础框架层
网络层
OkHttp + Retrofit 封装
统一请求拦截、Header、重试、错误处理
支持协程 / RxJava。
图片加载
Glide / Coil / Fresco
自带缓存、占位图、解码优化。
数据库层
Room / GreenDAO / LitePal
数据库升级、线程安全、缓存策略。
依赖注入
Hilt / Dagger2
统一管理依赖,方便测试和解耦。
日志 & 崩溃收集
自定义 Logger(带时间戳、线程信息)
集成 Bugly / Firebase Crashlytics。
路由与模块通信
ARouter / 自研路由
模块解耦,避免硬编码
Intent
。
三、通用能力基建
账号体系
登录状态管理、token 刷新、统一鉴权拦截。
埋点与监控
页面/事件埋点 SDK
App 启动时长、ANR、卡顿监控(如 Matrix、BlockCanary)。
配置中心 / AB 实验
后台动态下发开关(灰度、实验分流)。
国际化 & 多语言支持
文案集中管理,支持动态切换语言。
Push 通知封装
统一适配 Firebase、厂商通道(小米、华为、OPPO、vivo)。
文件 & 多媒体能力
统一封装拍照、录音、视频选择/压缩/上传。
四、研发提效基建
CI/CD
Jenkins / GitLab CI / Github Actions
自动化编译、测试、打包、发布。
代码规范
ktlint / Checkstyle / Spotless / Detekt
统一代码风格,保证质量。
单元测试 & UI 测试
JUnit / Espresso / MockK
集成覆盖率报告。
性能优化工具链
LeakCanary:内存泄漏
StrictMode:线程/IO 检测
Systrace/Perfetto:性能分析。
依赖更新 & 安全扫描
Dependabot / Renovate 自动升级依赖。
集成 Lint、SonarQube 检测代码问题。
五、运维与发布基建
多渠道打包
Gradle 配置 productFlavors
支持自动生成渠道包(友盟、腾讯广告渠道)。
版本管理
统一 versionCode / versionName 自动生成(如
git tag
驱动)。
灰度发布
应用市场(Google Play 内测、灰度)
国内应用商店多渠道发布。
热修复 & 插件化(可选)
Sophix、Tinker 等
动态下发补丁,减少线上崩溃影响。
总结一句话:
Android 开发的基建大致分为 工程架构、基础框架、通用能力、研发提效、运维发布 五大块。