Files
goauto/android/README.md
T

42 lines
3.5 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.
# Android Agent
一期 Android 执行端,包名为 `cn.ilapage.goauto.agent`。
当前已经实现:
- 首次安装生成并持久化随机 UUID `installId`,不读取硬件唯一标识。
- 自动注册和已认证的版本信息更新,无注册码输入页。
- Android Keystore AES-GCM 加密保存 Device Token,界面和日志不显示明文。
- 前台服务、15 秒心跳、网络恢复触发重连和最小诊断状态页。
- 清除 App 数据后按新的安装实例注册;Token 无效时明确报错,不降级为无认证注册。
服务端地址可在诊断页保存,也可在构建时通过 `GOAUTO_SERVER_URL` 环境变量或同名 Gradle 属性写入默认值。Release 版本只接受 HTTPS;只有 Debug 构建的独立清单允许 HTTP,便于局域网真机联调。诊断页在前台每秒刷新连接状态,但不会显示 Token 明文。
## T05 真机验证记录
- 一加 PKG110 / Android 16:首次注册、15 秒心跳、前台通知和在线空闲状态已验证。
- 杀死进程后重新打开:installId 和 deviceId 保持不变,设备表仍只有一条记录,心跳恢复。
- PDD 8.17.0 版本信息已随注册提交。
- ColorOS 首次 ADB 安装需要在“安装增强防护”页执行“更多 → 开始深度扫描 → 继续安装”。
- 当前 MVP 只完成并维护一加/ColorOS 真机兼容,不包含华为 ROM。
## T23~T24 v2 真机验证
- 一加 PKG110 / Android 16 已验证 v2 能力上报、正式任务领取、浏览器到 PDD `NewPageActivity`、规格面板打开、颜色文字点击和逐颜色稳定价格。
- 图片型颜色卡片只点击文字节点,不点击整卡或“打开大图/查看大图”。
- 规格值会排除“#一次选多款#”等面板功能入口,避免把操作按钮伪装成尺码和 SKU。
- 商品 `719834019024` 已采到 4 个颜色、4 个 2690 分颜色价格和 4 个结构化 SKU,缺少尺码、店铺和评价时正确提交 `completed_partial`。
- 商品 `236231603269` 已验证规格面板归顶、锚定横纵容器、逐行蛇形颜色遍历和尺码续页:14 个颜色、14 个颜色价格、8 个尺码和 112 个完整可用 SKU,任务最终为 `completed`。
- 滚动优先使用目标容器的无障碍 `ACTION_SCROLL_FORWARD/BACKWARD`;回退坐标手势时等待系统完成回调后才读取新树,避免把未结束手势误判成列表边缘。
- 商品标题回退只接受与销量节点空间关联的文本,不再把页面中任意最长文本当成标题。
- 规格入口只接受带明确选择语义的规格摘要,或屏幕底部真实“购买/拼单”文字按钮;评价、评论、晒单和问答区域及其父容器不能成为入口。
- 商品评价页与商品详情页共用 `NewPageActivity` 时,Agent 通过顶部评价标题和评价内容识别误触,安全返回后最多重新定位一次。点击无页面变化、重复误入评价页和面板结构无法确认使用不同错误码;日志只记录入口语义、控件类型、坐标和动作结果,不保存控件树或截图。
- 逐颜色价格必须先取得目标选中、已选摘要或规格面板变化证据,再等待价格刷新并连续稳定读取;其他颜色残留的选中标记不会阻塞新价格,相同价格仍允许保存。动作无效果时不会沿用旧价格,结构化日志区分未确认选择、未找到价格和价格不稳定。
```powershell
.\gradlew.bat test
.\gradlew.bat assembleDebug
```
APK 输出:`app/build/outputs/apk/debug/app-debug.apk`。AccessibilityService、任务领取和 PDD 页面执行由后续工单实现。