我有一个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?
答案 0 :(得分:4)
当您从命令行运行gradle
时,它会从您的系统路径调用gradle,这显然是gradle 2.10
当您在gradle.build文件中添加包装器部分时(如Android Studio项目的情况),您将在项目根文件夹中看到gradlew.bat和gradlew shell脚本。这些脚本将调用(并在需要时下载)包装器部分中定义的gradle版本。
TL; DR:运行./gradlew
而不是gradle