You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下Android Studio Shell脚本配置单独可运行但作为Flutter前置步骤报错

报错原因

Android Studio 中将独立的 Shell Script 构建配置添加到「Before launch」启动前步骤时,会丢失独立运行时的默认 shell 执行上下文,无法自动识别 .cmd 脚本对应的执行程序,因此抛出可执行文件未指定的报错。

解决方案

这里提供两种稳定可行的解决方法,任选一种即可:

方法1:修改现有Shell Script配置,明确指定执行程序

  • 打开你创建的copy webenv dev对应的Shell Script构建配置编辑页
  • 点击展开页面下方的Advanced options(高级选项),找到隐藏的Executable(可执行文件)输入框
  • 输入框内填入cmd.exe的完整路径:C:\Windows\System32\cmd.exe
  • 在Script options(脚本参数)输入框中补充参数:/c 你的脚本完整路径\copy_webenv.cmd dev,例如/c D:\project\copy_webenv.cmd dev
  • 保存配置后重新运行Flutter构建即可

方法2:替换为外部工具启动步骤(更稳定,推荐)

直接删除原来添加的Shell Script前置步骤,改为添加外部工具执行,不会出现上下文丢失问题:

  • 打开Flutter构建配置编辑页,拉到最下方的Before launch区域
  • 点击区域左上角的+号,选择「Run External Tool」,在弹出的窗口中再次点击+号新建外部工具
  • 按如下规则填写配置项:
    • Name:自定义名称,例如copy webenv dev
    • Program:填入C:\Windows\System32\cmd.exe
    • Arguments:填入/c xcopy webenv\dev web\ /E/Y(如果要保留脚本的参数扩展性也可以填/c copy_webenv.cmd dev)
    • Working directory:选择你的项目根目录(即copy_webenv.cmd所在的目录)
  • 保存配置,将原来的Shell Script前置步骤删除,保留刚新建的外部工具步骤即可
注意事项
  • 如果你的路径中包含空格或中文,需要用双引号将对应路径包裹
  • 如果是32位Windows系统,可将C:\Windows\System32\cmd.exe替换为C:\Windows\SysWOW64\cmd.exe

内容的提问来源于stack exchange,提问作者Sebastien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:24:01