feat(android): establish Roubao build baseline

This commit is contained in:
QiuSW
2026-07-25 18:20:37 +08:00
parent 285606639b
commit 04fa4a0994
96 changed files with 15249 additions and 125 deletions
+43 -14
View File
@@ -3,17 +3,19 @@ id: T-001
title: 初始化 Git 并接入 Roubao Android 基线
phase: 0
deps: []
status: DOING
status: DONE
created: 2026-07-25
context_ref: null
context_ref: 285606639bc13b6db4bb8969eb607612fa56d87a
work_branch: main
write_paths:
- AGENTS.md
- docs/tasks/T-001.md
- android-buyer/**
- .gitignore
- README.md
- init.ps1
- init.sh
- .gitattributes
- docs/00-ai-start-here.md
- docs/02-requirements.md
- docs/03-tech-stack.md
@@ -27,9 +29,9 @@ write_paths:
## 问题 / 背景
当前仓库只有 Harness 文档,不是 Git 仓库,也没有 Roubao 源码、Gradle Wrapper 或
任务启动时仓库只有 Harness 文档,没有 Roubao 源码、Windows Gradle Wrapper 或
可验证的 Android 命令。所有自动化、VLM 和后台任务都依赖一个可复现的 Android
基线;在基线完成前不能开始拼多多业务修改。
基线。
预期上游已经从真实仓库完成远端核实:
@@ -68,17 +70,17 @@ AccessibilityService 位于独立开发分支;接入前要先比较分支,
## 验收要点
- [x] 当前目录已成为可正常查看状态和提交的 Git 仓库。
- [ ] `android-buyer/` 包含可追溯到明确 URL 和 commit 的 Roubao 源码。
- [ ] 上游许可证文件已保留,并确认允许当前预期的二次开发方式。
- [ ] Windows 上使用仓库内 Gradle Wrapper 成功构建 Debug APK。
- [ ] 上游已有 Android 单元测试已执行;没有测试时明确记录。
- [ ] 有测试设备时完成安装和启动 smoke,并记录设备/Android 版本;无设备时任务
- [x] `android-buyer/` 包含可追溯到明确 URL 和 commit 的 Roubao 源码。
- [x] 上游许可证文件已保留,并确认允许当前预期的二次开发方式。
- [x] Windows 上使用仓库内 Gradle Wrapper 成功构建 Debug APK。
- [x] 上游已有 Android 单元测试已执行;没有测试时明确记录。
- [x] 有测试设备时完成安装和启动 smoke,并记录设备/Android 版本;无设备时任务
不能把设备 smoke 写成已通过。
- [ ] 未加入真实 API key、签名密码、设备 token 或本地 SDK 绝对路径。
- [ ] 已处理缺失的 `google-services.json`:提供本地忽略配置,或明确移除不需要的
- [x] 未加入真实 API key、签名密码、设备 token 或本地 SDK 绝对路径。
- [x] 已处理缺失的 `google-services.json`:提供本地忽略配置,或明确移除不需要的
Firebase 插件和依赖。
- [ ] `03-tech-stack.md` 和 `current-state.md` 不再把已核实信息标为待定。
- [ ] `init.ps1`/`init.sh` 与文档中的当前命令一致,或因明确 blocker 保持主动失败。
- [x] `03-tech-stack.md` 和 `current-state.md` 不再把已核实信息标为待定。
- [x] `init.ps1`/`init.sh` 与文档中的当前命令一致,或因明确 blocker 保持主动失败。
建议验证命令形状,最终以接入工程为准:
@@ -108,4 +110,31 @@ Set-Location android-buyer
- 用户确认第一层使用本机蝦皮订单文本和同订单号参考图作为真实样本;已将输入契约
和后续 T-004 同步到需求、架构、编码规则及路线图。
- 本次只建立文档与脚本提交;Gradle 构建、测试、APK 安装和设备 smoke 均未运行。
- T-001 保持 `DOING`,剩余 blocker 见 `docs/current-state.md`。
- 本阶段结束时 T-001 仍保持 `DOING`,当时的 blocker 见 `docs/current-state.md` 历史。
### 2026-07-25:Android 可运行基线
- 选择 `main@c8a6d7f03422eb01744b01f3ee77bf7757741f7e` 作为导入基线。无障碍分支
落后 `main` 的修复和 1.4.2 能力,后续只选择性移植,不整体切换。
- `android-buyer/UPSTREAM.md` 记录来源和调整;上游 MIT `LICENSE` 已保留。
- 安装 JDK 17 对应的 Android SDK 34、Build Tools 34.0.0、Command-line Tools
22.0 和 Platform Tools 37.0.0;没有把本机 SDK 绝对路径提交到仓库。
- 新版 Command-line Tools 与 AGP 8.2 会输出 SDK XML v4/v3 兼容警告,但任务和 APK
构建均成功;这是非阻塞工具版本提示,不作为通过证据本身。
- 上游缺少 `gradlew.bat`,已用 Gradle 8.2 Wrapper 任务生成;Wrapper 固定官方
SHA-256、120 秒网络超时并关闭生成阶段 URL 探测。
- 移除需要私有 `google-services.json` 的 Firebase Analytics/Crashlytics 和云端
上报设置;保留本地 `CrashHandler`。
- `.\gradlew.bat tasks --no-daemon`:成功。
- `.\gradlew.bat test --no-daemon`:成功;Debug/Release 单元测试均为 `NO-SOURCE`,
上游没有 `src/test` 或 `src/androidTest`。
- `.\gradlew.bat assembleDebug --no-daemon`:成功;生成 `app-debug.apk`,当次
SHA-256 为 `745C8E23B5C1575E9C71F6FF583BEEA3800759E9C611AD0C45D9062A856F68C4`。
- `gradlew installDebug` 在 Android 16 上由 AGP 8.2/ddmlib 返回 `-99`;SDK ADB
37.0.0 执行 `adb install -r -t` 成功,标准脚本采用该可靠路径。
- `$env:RUN_START_COMMAND="1"; .\init.ps1`:成功完成测试任务、APK 构建、安装和
冷启动。
- 真机 smoke:OnePlus PKG110,Android 16/API 36;MainActivity 冷启动约 0.9 秒,
进程存活、前台窗口正确、logcat 无崩溃,画面正常停在 Shizuku 使用指南。
- Android Studio `winget` 静默安装卡住并已终止;命令行构建不依赖 IDE,因此不作为
T-001 blocker。
+3 -3
View File
@@ -66,6 +66,6 @@ JPEG。正式私有目录、额外图片类型和一单多 SKU 规则仍未固
## 执行记录
尚未开始,等待 T-001 完成。前置检查已确认一组同名文本/JPEG 存在,文本字段结构和
图片解码有效;未记录或提交实际订单号、店铺名、商品内容及图片。实现时仍需确定正式
私有目录和一单多 SKU 规则。
尚未开始,依赖 T-001 已满足。前置检查已确认一组同名文本/JPEG 存在,文本字段结构
和图片解码有效;未记录或提交实际订单号、店铺名、商品内容及图片。实现时仍需确定
正式私有目录和一单多 SKU 规则。