AGENTS.md
30d8238
android/app/src/main/AndroidManifest.xml
REQUEST_INSTALL_PACKAGES
minSdk = 23
targetSdk = 34
versionName = 0.9.12
android/app/build.gradle.kts
AgentSettingsFragment
AgentStateStore
Android 上静默安装需要系统签名或 root,普通 APK 做不到。可实现的上限是:下载 APK 后调起系统安装确认界面,由用户点击「安装」。
既然最后一步必须由人确认,后台自动下载、定时检查、强制更新等自动化的收益有限,反而增加状态与失败模式。因此更新采用手动触发。
file://
GET /api/agent/v1/app/latest
versionCode
versionName
0.9.9
0.9.10
cd android && .\gradlew.bat :app:testDebugUnitTest :app:assembleDebug
Local-Development-and-Verification
Deployment-and-Operations
Android-Agent-API-Contract
sync
sync --check
待实施(前置 #143)。
GoAuto #143 + #144 v1
本版复用 Agent 现有设置页卡片和 ≥48dp 按钮规范,覆盖手动检查、静默提示、新版本、下载进度/取消、设备忙禁用、SHA-256 校验失败和未知来源安装权限引导。#143 接口和迁移尚未实施,因此本工单保持待实施。
用户于 2026-08-29 明确确认 #143 + #144 v1 标注稿。#144 在 #143 接口完成后实施 Agent 设置页手动检查、校验下载和系统安装引导;任务执行中禁止更新,不做静默安装或强制更新。
#143 + #144 v1
已按已确认的 #143+#144 v1 实施并推送,现转待验收。
实现:
提交:5684510;共享文档:1ec895b。 验证:Android testDebugUnitTest assembleDebug 通过,升级策略单测通过;Server/API 相关测试、Web 生产构建及 DevHarness strict check 通过。
边界:未发布或安装 APK,未做真机升级链路验证;需要先由 #143 完成迁移、上传并设为当前版本,再单独授权安装/真机验收。
No dependencies set.
The note is not visible to the blocked user.
所属与来源
AGENTS.md「Gitea 交互与工单最小读取」记录回退原因。当前事实(提交
30d8238复核)android/app/src/main/AndroidManifest.xml现有权限为 INTERNET、ACCESS_NETWORK_STATE、FOREGROUND_SERVICE、FOREGROUND_SERVICE_DATA_SYNC、WAKE_LOCK、POST_NOTIFICATIONS,没有REQUEST_INSTALL_PACKAGES,也没有配置 FileProvider。minSdk = 23、targetSdk = 34、当前versionName = 0.9.12(android/app/build.gradle.kts)。AgentSettingsFragment与设备忙判断(AgentStateStore的活动任务、采集冷却)。关键前提:无法静默安装
Android 上静默安装需要系统签名或 root,普通 APK 做不到。可实现的上限是:下载 APK 后调起系统安装确认界面,由用户点击「安装」。
既然最后一步必须由人确认,后台自动下载、定时检查、强制更新等自动化的收益有限,反而增加状态与失败模式。因此更新采用手动触发。
目标
非目标
实施方案
一、Manifest 与权限
REQUEST_INSTALL_PACKAGES权限。file://传递 APK 路径,必须通过 FileProvider 授予临时读权限。二、检查更新
GET /api/agent/v1/app/latest(设备 token 鉴权)。versionCode(整数),不得使用versionName字符串比较——字符串比较会在0.9.9与0.9.10上得出错误结论。三、下载与安装
四、业务约束
五、界面
安全边界
验收标准
versionCode;构造0.9.9→0.9.10场景验证结论正确。验证方式
cd android && .\gradlew.bat :app:testDebugUnitTest :app:assembleDebug依赖、并行与风险
文档影响
Local-Development-and-Verification或Deployment-and-Operations:Agent 更新的操作步骤与权限前提。Android-Agent-API-Contract:如 #143 已完整记录查询接口,本工单只补充客户端行为说明。sync与一轮sync --check,把页面与 revision 写回本工单。状态
待实施(前置 #143)。
#144 v1 标注稿待确认(依赖 #143)
GoAuto #143 + #144 v1本版复用 Agent 现有设置页卡片和 ≥48dp 按钮规范,覆盖手动检查、静默提示、新版本、下载进度/取消、设备忙禁用、SHA-256 校验失败和未知来源安装权限引导。#143 接口和迁移尚未实施,因此本工单保持待实施。
用户于 2026-08-29 明确确认
#143 + #144 v1标注稿。#144 在 #143 接口完成后实施 Agent 设置页手动检查、校验下载和系统安装引导;任务执行中禁止更新,不做静默安装或强制更新。已按已确认的 #143+#144 v1 实施并推送,现转待验收。
实现:
提交:5684510;共享文档:1ec895b。
验证:Android testDebugUnitTest assembleDebug 通过,升级策略单测通过;Server/API 相关测试、Web 生产构建及 DevHarness strict check 通过。
边界:未发布或安装 APK,未做真机升级链路验证;需要先由 #143 完成迁移、上传并设为当前版本,再单独授权安装/真机验收。