用途:把 Android 遗留的 RxJava 代码迁移到 Kotlin 协程与 Flow,属于行为保持型重构,而非重新设计业务逻辑。触发场景包括 rxjava to coroutines android、observable to flow android、replace composite disposable android。
主要能力:先扫描代码库中的 RxJava 导入、基础类型、Subject 与调度器用法,再将用法分类为一次性任务、流任务、热状态、热事件、回调桥接或背压敏感任务;先替换仓库与领域层 API,再把 UI 层订阅改为生命周期感知收集;将调度器与 Disposable 管理改写为 dispatcher、scope、结构化并发所有权及 repeatOnLifecycle 等收集方式。
使用方式:技能包含 scripts/run_examples.sh、scripts/scan_rxjava_usage.py、scripts/generate_migration_checklist.py 等示例与扫描脚本,可生成迁移清单。可参考 references/patterns.md 的类型映射矩阵与操作符风险清单,以及 references/scenarios.md 的分阶段迁移流程。范围扩大时可交接 android-modernization-upgrade 与 android-coroutines-flow。
限制与注意:一次性任务优先用 suspend,流用 Flow,不要全部强转为 Flow;替换 CompositeDisposable 时须保留生命周期所有权;flatMap、switchMap、replay 及线程假设需人工复核;热状态与重放语义需用 StateFlow、SharedFlow、shareIn 或 stateIn 显式保留,不可假定冷 Flow 等价。避免一次性重写仓库、ViewModel 与 UI 三层;测试的协程时序、取消与流断言需关注。官方参考资料链接已在技能中提供。