Files
cmroubao/docs/tasks/T-001.md
T

112 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: T-001
title: 初始化 Git 并接入 Roubao Android 基线
phase: 0
deps: []
status: DOING
created: 2026-07-25
context_ref: null
work_branch: main
write_paths:
- docs/tasks/T-001.md
- android-buyer/**
- .gitignore
- README.md
- init.ps1
- init.sh
- docs/00-ai-start-here.md
- docs/02-requirements.md
- docs/03-tech-stack.md
- docs/04-architecture.md
- docs/05-coding-rules.md
- docs/06-tasks.md
- docs/current-state.md
- docs/tasks/T-004.md
- progress.md
---
## 问题 / 背景
当前仓库只有 Harness 文档,不是 Git 仓库,也没有 Roubao 源码、Gradle Wrapper 或
可验证的 Android 命令。所有自动化、VLM 和后台任务都依赖一个可复现的 Android
基线;在基线完成前不能开始拼多多业务修改。
预期上游已经从真实仓库完成远端核实:
- 仓库:`https://github.com/Turbo1123/roubao`
- 许可证:MIT
- 默认分支:`main`
- 核实时 `main` commit:`c8a6d7f03422eb01744b01f3ee77bf7757741f7e`
- 独立无障碍开发分支:`roubao2.0+AccessibilityService`,核实时 commit
`5b114c0a9476c359b27cfe994743fc7beb0a3554`
- 构建基线:Android Studio Hedgehog+、JDK 17、SDK 34、Gradle 8.2、AGP 8.2.0、
Kotlin 1.9.20
这些是接入前核实结果,源码仍未导入、本机仍未构建。上游 `main` 使用 Shizuku,
AccessibilityService 位于独立开发分支;接入前要先比较分支,不能只按分支名称选型。
## 关联需求与交互
- 功能:为 F-003 至 F-007 提供实现基线,本任务不实现业务功能。
- 用户故事:不适用。
- 交互:不适用。
- 架构:`04-architecture.md` 的 Android 模块。
## 方案
1. 确认当前目录应作为新仓库后初始化 Git;远端地址未知时不擅自创建远端。
2. 重新读取远端分支头,比较 `main` 与无障碍开发分支;确定以哪个 commit 为导入
基线,并记录采用或移植无障碍实现的理由。
3. 将需要二次开发的 Android 源码接入 `android-buyer/`,保留许可证和上游来源说明。
4. 不做拼多多 Skill、VLM 业务和采购 UI 修改,只处理可构建所需的最小兼容问题。
5. 运行 Gradle Wrapper 的真实构建和已有测试;有测试设备时安装并启动原始 App。
6. 把真实目录、最终依赖版本、构建命令、上游 commit 和 blocker 同步到允许修改的
文档;若接入后的配置与已核实远端版本不同,要记录差异原因。
7. 用真实安装、验证和启动命令替换 `init.ps1`/`init.sh` 占位;如果无法提供设备
启动命令,保留主动失败并把原因记录为 blocker,不能伪造命令。
## 验收要点
- [x] 当前目录已成为可正常查看状态和提交的 Git 仓库。
- [ ] `android-buyer/` 包含可追溯到明确 URL 和 commit 的 Roubao 源码。
- [ ] 上游许可证文件已保留,并确认允许当前预期的二次开发方式。
- [ ] Windows 上使用仓库内 Gradle Wrapper 成功构建 Debug APK。
- [ ] 上游已有 Android 单元测试已执行;没有测试时明确记录。
- [ ] 有测试设备时完成安装和启动 smoke,并记录设备/Android 版本;无设备时任务
不能把设备 smoke 写成已通过。
- [ ] 未加入真实 API key、签名密码、设备 token 或本地 SDK 绝对路径。
- [ ] 已处理缺失的 `google-services.json`:提供本地忽略配置,或明确移除不需要的
Firebase 插件和依赖。
- [ ] `03-tech-stack.md` 和 `current-state.md` 不再把已核实信息标为待定。
- [ ] `init.ps1`/`init.sh` 与文档中的当前命令一致,或因明确 blocker 保持主动失败。
建议验证命令形状,最终以接入工程为准:
```powershell
git status --short
Set-Location android-buyer
.\gradlew.bat tasks
.\gradlew.bat test
.\gradlew.bat assembleDebug
```
## 边界
- 不实现拼多多搜索、点击、候选比较或订单流程。
- 不接入 VLM、后台 API、任务领取和管理页面。
- 不升级与构建无关的依赖,不重构上游项目。
- 不配置生产签名,不提交本机 `local.properties` 或密钥。
## 执行记录
### 2026-07-25:Git 和文档基线
- 当前目录已初始化为 Git 仓库,工作分支为 `main`,远端名为 `origin`。
- 新增根目录 `.gitignore`,忽略本地 SDK 配置、Firebase 配置、密钥、构建产物、
运行数据和日志。
- 已核实 Roubao 上游版本并更新技术栈、当前状态及本任务,但 Android 源码尚未导入。
- 用户确认第一层使用本机蝦皮订单文本和同订单号参考图作为真实样本;已将输入契约
和后续 T-004 同步到需求、架构、编码规则及路线图。
- 本次只建立文档与脚本提交;Gradle 构建、测试、APK 安装和设备 smoke 均未运行。
- T-001 保持 `DOING`,剩余 blocker 见 `docs/current-state.md`。