无法使用Android Studio构建Gradle项目

6

我使用配置为使用gradle wrapper构建的Android Studio 0.3.0,Gradle 1.8。每次使用Android Studio构建(或重建)项目时,都会收到以下错误:

Gradle: A problem occurred evaluating project ':MyProject'.
> For input string: ""

点击错误,在 build.gradle 中找到错误代码:
def getCommitsCount() {
    return 'git rev-list --count HEAD'.execute().text.toInteger()
}

如果我删除.toInteger(),那么错误就消失了。否则,我可以从控制台正常构建项目./gradlew clean check build
有人遇到同样的问题吗?这似乎是Android Studio的问题。如果您知道任何解决方法或修复程序,那将很酷。

1
由于未知原因,在Android Studio中调用'git rev-list --count HEAD'.execute().text总是返回""。因此,我通过检查文本是否为整数来实现了一个解决方法:return result.isInteger() ? result.toInteger() : 0 - Hieu Rocker
5个回答

3

要找出输出流为空的原因,请使用err访问错误流。

def getCommitsCountError() {
    return 'git rev-list --count HEAD'.execute().err.text.toInteger()
}

很可能像JChord所指出的那样,错误是这样的:

"xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun"

那么解决方案就是(重新)安装Xcode命令行工具:

xcode-select --install

然后git与其连接

1
也许您已经删除了Xcode导致问题。尝试重新安装命令行工具以确保git正常工作。
运行以下命令: xcode-select --install 点击“安装”下载并安装Xcode命令行工具。

0

我认为Android Studio从不同的目录运行“make”,所以这是我的修复方法,它可以按预期工作:

def getCommitsCount() {
    return "git --git-dir=${projectDir}/.git --work-tree=${projectDir} rev-list --count HEAD".execute().text.toInteger()
}

我发现这是我的问题,尽管它只适用于${rootDir},因为${projectDir}将是${rootDir}/app,而我的存储库存储在根目录下。 - gardarh

0

我的问题是我没有选择Xcode版本。

您还可以尝试重新安装Xcode命令行工具:xcode-select --install


0

我在获取提交计数方面也遇到了同样的问题。最终对我有用的是:

def getGitCommitCount() {
   def process = "git rev-list HEAD --first-parent --count".execute()
   return process.text.toInteger()
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接