我试图动态获取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)