android-studio - 当版本不匹配时,如何从 Android Studio 的命令行运行 gradle?

标签 android-studio gradle android-gradle-plugin

我有一个 Android Studio 项目,一直在使用 Build/Rebuild Project 构建它 - 它构建得很好。

但是,我正在向 build.gradle 文件添加内容,并且在使用 AS 时遇到问题,因为 AS 内的 Gradle 控制台中的输出经常消失。这意味着如果我在添加 build.gradle 时犯了错误,我看不出问题出在哪里。

所以我想我应该从命令行运行。所以我只是在我的 mac 终端窗口中输入“gradle”,但我得到了这个:

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,但没有任何区别。 我也尝试将其更改为 grade-2.10-all.zip 但它仍然是相同的错误消息。

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

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

最佳答案

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

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

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

关于android-studio - 当版本不匹配时,如何从 Android Studio 的命令行运行 gradle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35188685/

相关文章:

Android Studio 构建 transformClassesWithJarMergingForDebug 报错

android - 无法获取额外属性扩展的属性 'compileSdkVersion',因为它不存在 打开文件

android - 应用程序安装失败,消息为 : Failed to commit install session

groovy - 如何在单元测试中运行测试 “running task”

android - 更改JUnit报告路径

android - Android Studio中的Gradle同步错误

android - 找不到 Gradle DSL 方法 : 'android()' opening project in android studio 1. 4

android - android studio 中的图案图像设置在两者之间显示黑色瓷砖?

android studio 不下载源代码和 javadoc

android - 找不到 gradle 2.2.0-rc1