如何在版本不匹配时从Android Studio的命令行运行gradle?

时间:2016-02-03 22:05:34

标签: android-studio gradle android-gradle

我有一个Android Studio项目,并且只是使用Build / Rebuild Project构建它 - 它构建得很好。

但是我添加了build.gradle文件并且使用AS时出现问题,因为AS内Gradle控制台中的输出经常消失。这意味着如果我在build.gradle中添加了一个错误,我就无法看到问题所在。

所以我以为我会从命令行运行东西。所以我只需键入' gradle'从我的mac的终端窗口,但我明白了:

A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'com.android.application']
   > Gradle version 2.2 is required. Current version is 2.10. If using the gradle wrapper, try editing the distributionUrl in /Users/Cequint/Desktop/CityIDGradle/android/CityID/gradle/wrapper/gradle-wrapper.properties to grade-2.2-all.zip

AS中的gradle-wrapper.properties文件包含:

distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

然而,如果我输入' gradle -version'从命令行显示我安装了Gradle 2.10。

我尝试更改AS中的cradle-wrapper.properties文件以包含在错误消息中所述的grade-2.2-all.zip,但它没有任何区别。 我也尝试将其更改为grade2.10-all.zip,但仍然是相同的错误消息。

所以问题是: 1)我可以在AS gradle文件中更新什么来从命令行构建?

2)如果我有一个不同版本的gradle下载到mac上,而不是安装AS。如何下载与AS相同的版本,即v2.10?

1 个答案:

答案 0 :(得分:4)

当您从命令行运行gradle时,它会从您的系统路径调用gradle,这显然是gradle 2.10

当您在gradle.build文件中添加包装器部分时(如Android Studio项目的情况),您将在项目根文件夹中看到gradlew.bat和gradlew shell脚本。这些脚本将调用(并在需要时下载)包装器部分中定义的gradle版本。

TL; DR:运行./gradlew而不是gradle

相关问题