This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
EAS 模拟器 CLI 参考
编辑页面
用于创建、检查、监控、控制、列出和停止远程模拟器会话的实验性 EAS CLI 命令参考。
simulator:* 命令处于实验阶段且默认隐藏。运行这些命令前,请安装或更新 EAS CLI:
--help 标志会显示 simulator:start 的可用选项。
启动命令也可写作 eas simulator、eas sim 和 eas sim:start。其他命令也有对应的 eas sim:* 别名,例如 eas sim:list 和 eas sim:stop。
如需在不使用 EAS CLI 的情况下管理会话,请使用 REST API。
命令
simulator:availability
--json 标志是可选的。它会为代理和自动化工具输出稳定、机器可读的结果;省略该标志则输出适合人类阅读的内容。JSON 对象包含 available 和 accountName。此命令不会创建会话,也不会消耗模拟器使用额度。
simulator:start
会话类型决定 EAS 会通过远程设备配置哪种接口。在 iOS 上,每种类型都包含网页预览。选择 agent-device、Argent 或 Appium 可添加程序化控制,或者选择 web-preview-only 仅使用网页预览:
使用 agent-device 执行基于无障碍功能的设备操作和应用安装。
使用 Argent 通过会话运行其远程设备工具。
如果要连接现有的 Appium 客户端或测试套件,请使用 Appium。
使用 iOS 网页预览,不配置程序化控制器。
重要标志:
--build-id、--application-archive-url 和 --expo-go 是互斥的应用来源。--launch-arg 和 --open-url 必须与其中一个应用来源搭配使用,因为启动命令需要已安装的应用才能启动。
即使使用 --json,默认的 dotenv 输出也会写入配置。明确不想写入文件时,请使用 --out-config-type env。
常见 JSON 输出字段的格式如下。remoteConfig 中的字段取决于所选控制器:
{ "id": "<session-id>", "name": "Checkout flow screenshots", "type": "<controller-type>", "deviceRunSessionUrl": "https://expo.dev/accounts/<account>/projects/<project>/simulator-sessions/<session-id>", "remoteConfig": { "<控制器特定键>": "<值>" } }
请将 remoteConfig 视为机密信息,因为其中包含控制器凭据。
交互式和非交互式行为
不使用 --non-interactive 时,启动命令会保持连接并轮询会话。按一次 Ctrl+C 可停止该命令。EAS CLI 确认会话结束后,会重置 .env.eas-simulator。
使用 --non-interactive 或 --json 时,控制器就绪后命令会返回。你必须单独停止会话。
simulator:exec
simulator:exec 与控制器无关。它会从 .env.eas-simulator 加载活动会话的连接变量,然后启动后续的命令及参数。
请使用会话启动时所选控制器对应的命令模式:
simulator:exec 不实现设备操作。它只提供活动会话的连接环境,并运行后续的命令。可用的操作和参数语法来自 agent-device 或 Argent。
simulator:events
显示 .env.eas-simulator 所引用会话的活动快照:
传入会话 ID 以检查其他会话:
默认的文本输出会将相关操作整合为易读的时间线。其中包括时间戳、控制器、摘要,以及可用时的持续时间。此命令显示来自 agent-device 或 Argent 的会话和控制器活动,而不是应用运行时日志。
在会话运行期间持续查看新活动:
-f 短标志等同于 --follow。会话结束时,命令会停止持续查看。提前停止持续查看,请按 Ctrl + C。
对于代理和自动化任务,以 JSON 格式请求原始事件记录:
JSON 对象包含 deviceRunSessionId 和 events 数组。常见的事件字段包括 eventId、ts、producer、type 和 summary,以及可用时的操作 ID、结果、持续时间和控制器特定数据。--json 不能与 --follow 结合使用。
simulator:get
获取 .env.eas-simulator 所引用的会话:
显式获取另一个会话:
响应包括:
- ID、名称、类型、状态和平台
- 创建、启动、结束和更新时间戳
- expo.dev 模拟器会话 URL
- 控制器连接配置
- 会话产物(如果存在)
simulator:list
筛选条件可以重复使用:
使用 --limit 控制页面大小,并将上一响应中的 endCursor 与 --after 一起使用进行分页。
simulator:stop
停止 .env.eas-simulator 所引用的会话:
停止指定的会话:
停止变更具有幂等性。
使用 --json 输出包含会话 id 和最终 status 的机器可读对象。
.env.eas-simulator
托管文件始终包含会话 ID:
控制器连接变量取决于所选类型:
将该文件添加到 .gitignore:
会话运行期间不要修改其中的值。