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

Windows11下Android Studio无法识别hg路径的解决求助

解决Windows 11下Android Studio无法识别Mercurial的hg命令问题

问题根源:Windows系统中Mercurial的可执行文件是hg.bat,但Android Studio/Gradle默认调用不带后缀的hg,导致找不到命令。以下是几种彻底解决的方法:

方法1:创建无后缀的符号链接指向hg.bat

  • 找到Mercurial的安装目录(默认路径一般是C:\Program Files\Mercurial)
  • 右键以管理员身份打开命令提示符
  • 执行命令:
    mklink "C:\Program Files\Mercurial\hg" "C:\Program Files\Mercurial\hg.bat"
    
  • 确保该目录已添加到系统PATH环境变量中(安装Mercurial时一般会自动添加,若没有需手动添加)
  • 重启Android Studio,此时调用hg会自动映射到hg.bat

方法2:全局修改Gradle任务中的命令映射

如果不想修改系统文件,可以在项目根目录的build.gradle中添加全局配置,自动将所有hg命令替换为hg.bat:

allprojects {
    tasks.withType(Exec) {
        if (commandLine.contains("hg")) {
            commandLine = commandLine.collect { it == "hg" ? "hg.bat" : it }
        }
    }
}

同步Gradle后,所有项目中的hg调用都会被自动替换,无需逐个修改配置文件

方法3:检查并修复系统PATH环境变量

  • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  • 在系统变量的PATH中确认是否存在Mercurial的安装目录(如C:\Program Files\Mercurial)
  • 若不存在,点击「新建」添加该路径,然后点击「确定」保存
  • 重启Android Studio和命令提示符,确保环境变量生效

附上报错信息:

Caused by: java.io.IOException: Cannot run program "hg": CreateProcess error=2, The system cannot find the file specified
at org.gradle.internal.classpath.Instrumented.exec(Instrumented.java:250)
at Config.execReadStandardOutOrThrow(ConfigPlugin.kt:204)
at Config.execReadStandardOutOrThrow$default(ConfigPlugin.kt:203)
at Config.getVcsHash(ConfigPlugin.kt:184)
at Config$getVcsHash.call(Unknown Source)
at build_4y7vgpadg1wghwfvlmkpx6hcz$_run_closure1$_closure16.doCall$original(D:\RESEARCH\mozilla-source\mozilla-unified\mobile\android\fenix\app\build.gradle:125)
at build_4y7vgpadg1wghwfvlmkpx6hcz$_run_closure1$_closure16.doCall(D:\RESEARCH\mozilla-source\mozilla-unified\mobile\android\fenix\app\build.gradle)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.gradle.util.internal.ClosureBackedAction.execute(ClosureBackedAction.java:73)
at org.gradle.util.internal.ConfigureUtil.configureTarget(ConfigureUtil.java:149)
at org.gradle.util.internal.ConfigureUtil.configure(ConfigureUtil.java:106)
at org.gradle.util.internal.ConfigureUtil$WrappedConfigureAction.execute(ConfigureUtil.java:167)
at org.gradle.api.internal.AbstractNamedDomainObjectContainer.create(AbstractNamedDomainObjectContainer.java:80)
at org.gradle.api.internal.AbstractNamedDomainObjectContainer.create(AbstractNamedDomainObjectContainer.java:71)
at org.gradle.api.internal.NamedDomainObjectContainerConfigureDelegate._configure(NamedDomainObjectContainerConfigureDelegate.java:39)
at org.gradle.internal.metaobject.ConfigureDelegate.invokeMethod(ConfigureDelegate.java:72)
at build_4y7vgpadg1wghwfvlmkpx6hcz$_run_closure1$_closure17.doCall$original(D:\RESEARCH\mozilla-source\mozilla-unified\mobile\android\fenix\app\build.gradle:144)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 14:23:18