# 本地开发与验证 ## 环境要求 - Windows 10 或兼容开发环境; - JDK 17; - Android SDK,包含 API 34 对应平台和构建工具; - Git; - PowerShell 7 优先,Windows PowerShell 也可使用。 本机 Android SDK 路径可以由 Android Studio、环境变量或未提交的 `local.properties` 配置,不要把个人绝对路径提交到业务代码或版本库。 ## 首次检查 从仓库根目录执行: ```powershell java -version .\android\gradlew.bat -p android --version .\android\gradlew.bat -p android test ``` 确认 Gradle 使用 Java 17。如果依赖下载或 SDK 检查失败,先按错误信息补齐环境,再修改代码。 ## 常用命令 运行 JVM 单元测试: ```powershell .\android\gradlew.bat -p android test ``` 构建 Debug APK: ```powershell .\android\gradlew.bat -p android assembleDebug ``` 同时验证测试和构建: ```powershell .\android\gradlew.bat -p android test assembleDebug ``` Debug APK 输出到: ```text android/app/build/outputs/apk/debug/app-debug.apk ``` 也可以先进入 `android/`,再使用 `./gradlew.bat test` 等标准命令。 ## 测试范围 当前 JVM 测试位于 `android/app/src/test/java/cn/auto/agent/`: | 测试 | 覆盖重点 | |---|---| | `TaskParserTest` | JSON 解析、字段校验和协议约束 | | `TaskSynchronizerTest` | 设备名筛选、无效任务统计和入库 | | `TaskExecutorTest` | 步骤执行、包/Activity、唯一节点和结果 | | `TaskExecutorTimeoutTest` | 有限超时及相关失败行为 | 只运行某个测试类时,可使用: ```powershell .\android\gradlew.bat -p android testDebugUnitTest --tests "cn.auto.agent.TaskParserTest" ``` 交付涉及核心逻辑的改动前,仍应运行完整 `test`。 ## 真机验证 无障碍节点树、输入法、不同系统版本和目标 App 页面无法完全由 JVM 测试覆盖。涉及 `AutoAccessibilityService`、Manifest、无障碍配置或目标 App 适配时,至少记录并验证: 1. 应用可安装和启动; 2. 系统设置中可启用 `autoagent` 无障碍服务; 3. 前台包名和 Activity 能被正确识别; 4. 目标页面的选择器匹配数量符合预期; 5. 点击、输入、返回或提取动作返回正确结果; 6. 超时和失败不会无限等待。 交付时明确写出真机型号、Android 版本、目标 App/页面和实际验证步骤;没有真机验证时也要明确说明。 ## 文档验证 文档改动至少检查: - 相对链接指向存在的文件; - 命令从所写目录可以执行; - 版本和能力状态与代码一致; - 示例 JSON 符合协议,并且不会把规划中动作写成已实现。 不需要为了文档改动重复发布 APK,但涉及路径或构建说明时应实际运行对应命令。