使用Bazel构建Android应用时执行构建命令失败求助
解决Windows下Bazel构建安卓应用找不到bash.exe的问题
问题描述
执行bazel build //src/main:app时触发构建失败,核心错误为系统无法找到bash.exe以运行desugar_java8工具,关键错误日志如下:
LAUNCHER ERROR: Cannot launch process: "bash.exe" -c "C:\Users\Eric_bazel_eric\4yp365mj\execroot\main\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\bazel_tools\tools\android\desugar_java8 --persistent_worker"
Reason: (error: 2): The system cannot find the file specified.
解决方案
方法1:安装Git for Windows并配置PATH
- 下载安装Git for Windows,安装时务必勾选「Add Git to PATH」选项,该操作会自动将bash.exe所在目录加入系统环境变量
- 重启命令提示符或PowerShell,输入
bash --version验证bash是否可正常调用 - 重新执行
bazel build //src/main:app
方法2:手动指定bash路径给Bazel
若不想修改系统PATH,可通过构建参数直接指定bash路径:
- 定位Git安装目录下的bash.exe(通常路径为
C:\Program Files\Git\bin\bash.exe) - 执行带参数的构建命令:
bazel build //src/main:app --action_env=BAZEL_SH="C:\Program Files\Git\bin\bash.exe"
方法3:使用WSL运行构建(适配Bazel 7.x及以上版本)
- 启用Windows Subsystem for Linux功能,安装Ubuntu等Linux发行版
- 切换至WSL环境下执行Bazel构建命令,规避Windows环境的bash依赖问题
验证
重新执行构建命令后,若未再出现bash.exe找不到的错误提示,且构建流程完成,则问题已解决。
内容的提问来源于stack exchange,提问作者Eric Chomba
相关产品推荐
相关产品推荐

