我的项目中有不同的 Gradle 版本? (gradle.xml 对比 build.gradle)

Different Gradle versions in my project? (gradle.xml vs build.gradle)

在 gradle.xml 我有版本 2.4 ( C:\Development\android-studio\gradle\gradle-2.4 ):

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="GradleSettings">
    <option name="linkedExternalProjectsSettings">
      <GradleProjectSettings>
        <option name="distributionType" value="LOCAL" />
        <option name="externalProjectPath" value="$PROJECT_DIR$" />
        <option name="gradleHome" value="C:\Development\android-studio\gradle\gradle-2.4" />
        <option name="gradleJvm" value="1.8" />
        <option name="modules">
          <set>
            <option value="$PROJECT_DIR$" />
            <option value="$PROJECT_DIR$/caponateLibrary" />
            <option value="$PROJECT_DIR$/launcher" />
          </set>
        </option>
      </GradleProjectSettings>
    </option>
  </component>
</project>

但是在我的项目 uild.gradle 文件中我有 1.3.0:

    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
    }

为什么这些文件有不同的 gradle 版本?这两个 gradle 版本之间存在哪些差异,哪个是真正的 gradle 版本?

谢谢

第一个是实际的 gradle 二进制文件,因此是实际的 gradle 版本。不幸的是,第二个是 (IMO) 命名的,根本不是 gradle。它是 android gradle 及其版本的插件。

不要混淆 gradle 发行版 android 插件 gradle

1) 可以在文件中定义项目使用的gradle分布 gradle/wrapper/gradle-wrapper.properties

例如:

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

每个项目可以使用不同的版本。您将在 \user\.gradle\wrapper\dists 文件夹中找到分发文件。

2) Gradle 是一个构建工具,但它需要特定的插件才能工作。 Android 工具团队正在为 Gradle 发布 Android 插件。

您可以在项目的build.gradle文件中定义插件。

例如:

  classpath 'com.android.tools.build:gradle:1.3.1'
  classpath 'com.android.tools.build:gradle:1.5.0'

每个项目(或模块)可以使用不同的版本。