相关疑难解决方法(0)

Gradle sync失败:原因:error = 2,没有这样的文件或目录

我试图动态获取mercurial存储库的最新版本号,并将其放在android应用程序的versionName中.

这就是我在gradle文件中的含义:

def buildNumber = "hg id -i -n -r tip".execute().text.trim()
Run Code Online (Sandbox Code Playgroud)

请注意,当我尝试在终端中构建相同的内容时,我可以成功构建使用:

./gradlew assembleRelease
Run Code Online (Sandbox Code Playgroud)

但是,android studio无法同步,无法构建应用程序.我在事件日志中收到以下错误:

Gradle sync failed: Cause: error=2, No such file or directory 
Consult IDE log for more details (Help | Show Log) (10s 806ms)
Run Code Online (Sandbox Code Playgroud)

从android studio日志文件(来自MAC中的Finder),我看到了这个错误:

Caused by: java.io.IOException: Cannot run program "hg": error=2, No such file or directory
Run Code Online (Sandbox Code Playgroud)

这是完整的日志:

2017-11-01 08:11:04,598 [se-915-b08]   INFO - e.project.sync.GradleSyncState - Started sync with Gradle for project 'android-app'. 
2017-11-01 08:11:04,614 [ thread 31]   INFO - s.plugins.gradle.GradleManager - Instructing gradle to …
Run Code Online (Sandbox Code Playgroud)

mercurial android-studio android-gradle-plugin

3
推荐指数
3
解决办法
4498
查看次数