用途
该技能面向 Android 项目中的架构整理工作,核心目标是应用整洁架构(Clean Architecture)边界,划分用例(use cases)与仓库(repositories),并使用生命周期感知的展示模型(presentation models)。
当请求涉及以下内容时适用:Android 中的整洁架构、拆分用例与仓库、解耦展示层与数据层。
主要产出:在 Android 项目中应用整洁架构边界、用例、仓库以及生命周期感知的展示模型。
主要能力
- 将请求映射到当前 Android 技术栈、模块边界与最低支持的 API 级别。
- 检查现有实现中的隐式假设、重复辅助代码与过时模式。
- 应用最小改动以提升正确性、可读性与长期可维护性。
- 对照相关示例应用路径与仓库基准验证结果。
- 在核心基础稳定后,将相邻工作交接给下一个专门技能。
使用方式
技能工作流包括:映射请求到当前 Android 技术栈与模块边界;检查现有实现;应用最小改动;对照示例应用路径与仓库基准进行验证;在核心基础稳定后再交接相邻工作。
当范围扩大时,可交接给以下技能:
- android-modularization
- android-state-management
示例命令:
- 正常路径:
cd examples/orbittasks-compose && ./gradlew :app:testDebugUnitTest - 边界情况:
cd examples/orbittasks-xml && ./gradlew :app:testDebugUnitTest - 失败恢复:
python3 scripts/eval_triggers.py --skill android-architecture-clean
适用场景
- 需要分离 OrbitTasks 功能的状态、用例与仓库契约。
- 需要保持 XML activity 动作精简,同时保留已保存状态行为。
- 需要识别与模块化、状态管理请求之间的触发混淆。
限制与护栏
- 当官方 Android 与 Kotlin 指南与本地自定义约定冲突时,优先采用官方指南。
- 保持公共 API 简单明确;避免隐藏 Android 生命周期成本的巧妙抽象。
- 除非请求明确需要,否则不要将架构清理与产品行为变更混在一起。
- 记录会影响旧模块或生成代码的兼容性约束。
反模式包括:在没有明确归属边界的情况下将辅助代码散布到各模块;将框架特定代码引入纯领域层或数据层;在只需更改一个契约时重构所有相邻文件;将迁移说明留作隐含而不写下来。
完成清单
- 实现路径明确、最小,并绑定到正确的 Android 界面。
- 相关示例命令与基准提示已执行或更新。
- 当请求跨越边界时,已记录到相邻技能的交接。
- 官方参考覆盖所选模式以及主要迁移或故障排除路径。
官方参考
- https://developer.android.com/topic/architecture
- https://developer.android.com/topic/architecture/recommendations
- https://developer.android.com/jetpack/guide
- https://developer.android.com/topic/libraries/architecture/viewmodel