如何在 Android Studio 中使用最新的 gradle 版本

Posted

技术标签:

【中文标题】如何在 Android Studio 中使用最新的 gradle 版本【英文标题】:How to use the latest gradle version in Android Studio 【发布时间】:2016-07-02 13:51:04 【问题描述】:

我刚刚注意到 Gradle 有 released version 2.12,根据发行说明,脚本的编译速度应该提高 20%。我想在 android Studio 中升级到那个版本。

我正在使用 v1.5.1 并且在设置中我选择了“使用默认 gradle 包装器”选项,这意味着不是为每个项目使用本地 gradle 安装,而是为每个项目使用特定的 gradle 版本项目。使用的版本是build.gradle 文件中定义的版本。示例:

buildscript 
    repositories 
        jcenter()
    
    dependencies 
        classpath 'com.android.tools.build:gradle:1.5.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    

现在如果我把它改成这样:

classpath 'com.android.tools.build:gradle:2.12'

然后 Android Studio 找不到该版本并引发错误。显然,AS 首先尝试在本地缓存中查找二进制文件(Android Studio/gradle/m2repository),然后尝试从 bintray 下载它:

https://jcenter.bintray.com/com/android/tools/build/gradle/2.12/gradle-2.12.jar

浏览published builds,这里可用的最后一个版本似乎是 v2.1.0-alpha1。

为什么 v2.12 还没有在 bintray 中?不兼容 Android Studio 吗? 如果兼容,有没有办法下载它并在每个项目的基础上使用本地安装? (我不想破坏已经在版本控制中的旧项目)

【问题讨论】:

检查this updated answer 从here 中找到将在gradle-wrapper.properties 中使用的最新版本的 Gradle 【参考方案1】:

对于 AS 2

最新的插件是:

[ ![下载]1]2

classpath 'com.android.tools.build:gradle:[INSERT LATEST HERE]'

对于 AS 3

您应该更新存储库以包含 google(),您还需要 gradle > 4.1 并且最新版本在这里:

https://developer.android.com/studio/releases/gradle-plugin.html

在撰写本文时:

buildscript 
    repositories 
        // Gradle 4.1 and higher include support for Google's Maven repo using
        // the google() method. And you need to include this repo to download
        // Android plugin 3.0.0 or higher.
        google()
        ...
    
    dependencies 
        classpath 'com.android.tools.build:gradle:3.3.0'
    

【讨论】:

不错的一个!比 12 岁的帖子好多了 你确定吗?该图像当前显示“2.3.3”,而developer.android.com/studio/releases/gradle-plugin.html 包含文本classpath 'com.android.tools.build:gradle:3.0.1' 他们已经开始使用他们自己的 maven repo...我会看看我能做什么。 @weston 您是否知道是否可以在 Android Studio 中使用比随附版本更新的 Gradle 版本?例如,我用 AS 3.2 尝试了 Gradle 5.0,但它同步失败,错误/异常不清楚。还是 Android Studio 应该只适用于旧版本?我找不到任何确认其中一个或另一个的文档。 @Zingam 我会先看看它是否在命令行上工作。例如'./gradlew assembleDebug' 我希望你会看到同样的错误。【参考方案2】:

com.android.tools.build:gradle 是 android 的 gradle 插件。它与 gradle 分布不同。有关 gradle android 插件的发布/版本信息,请参见此处:https://maven.google.com/web/index.html?q=gradle#com.android.tools.build:gradle

要更改插件使用的 gradle 版本,请编辑文件:

<Project>/gradle/wrapper/gradle-wrapper.properties

并将这一行更改为您想要的 gradle 版本:

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

然后重建你的项目。

请记住,您使用的 android 插件版本可能尚未使用这个全新的 gradle 版本进行测试,并且可能会导致意外问题。


android gradle 插件到 2020 年 2 月的 Gradle 版本兼容性

Plugin version      Required Gradle version
--                  --
1.0.0 - 1.1.3       2.2.1 - 2.3
1.2.0 - 1.3.1       2.2.1 - 2.9
1.5.0               2.2.1 - 2.13
2.0.0 - 2.1.2       2.10 - 2.13
2.1.3 - 2.2.3       2.14.1+
2.3.0+              3.3+
3.0.0+              4.1+
3.1.0+              4.4+
3.2.0 - 3.2.1       4.6+
3.3.0 - 3.3.2       4.10.1+
3.4.0 - 3.4.1       5.1.1+
3.5.0 - 3.5.3       6.0.1+
3.6.0+              6.0.1+

【讨论】:

有没有办法知道哪些 gradle 版本与插件兼容?我在您链接的页面中看不到任何内容。 嗯,他们确实在插件发行说明中告诉您要使用的最低 gradle 版本是什么。对于 1.5.0,最低 gradle 版本显然是 2.2.1 他们并没有说在事情破裂之前你能走多高。请参阅此处:developer.android.com/tools/revisions/gradle-plugin.html 另请参阅此处的“Gradle 要求”部分:tools.android.com/tech-docs/new-build-system/… Bintray 已不复存在。【参考方案3】:

除了上述(更改 distibitionURL)之外,对我有用的是在 build.gradle (Modile:app) 中将我的类路径保持为 2.0.0:

classpath 'com.android.tools.build:gradle:2.0.0'

在文件 > 项目结构 > 项目中:将“Gradle 版本”更改为 2.12

在文件 > 设置 > 构建、执行、部署 > 构建工具 > Gradle 中: 在“项目级设置”部分下,有 2 个选项:

    使用默认的 gradle 包装器(推荐)

    从http://gradle.org/post-download-gradle/下载gradle-2.12-all.zip 然后选择“使用本地 gradle 分发”并映射“Gradle home:”即 C:/Gradle/gradle-2.12

请注意,选项 2 将要求您下载每个 gradle 版本更新。

【讨论】:

【参考方案4】:

如果你想使用最新的,你不能使用默认的 gradle wrapper,你必须去设置,检查“使用可自定义的 gradle wrapper”,然后在

Project/gradle/wrapper/gradle-wrapper.properties

distributionUrl

distributionUrl=https\://services.gradle.org/distributions/gradle-2.12-bin.zip

【讨论】:

我有点迷路了。我在 gradle 设置中看不到任何“使用可自定义的 gradle 包装器”选项。您的意思是“使用本地 gradle 分发”吗? 不,截图就在那里。 您必须使用 AS 2 测试版。我还在 1.5.1 实际上只是使用普通的 IntelliJ。 所以这个选项使用了一个自定义的 gradle 版本,但只适用于项目,对吧?【参考方案5】:

试试这个:- 根据 gradle-wrapper.properties 中的最新版本更改此 url,然后更改 gradle。

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

希望对你有帮助 谢谢

【讨论】:

以上是关于如何在 Android Studio 中使用最新的 gradle 版本的主要内容,如果未能解决你的问题,请参考以下文章

Android:如何在 android studio 中配置 FFMPEG 最新版本?

android studio 如何将git 得到最新的版本

如何在 android studio 项目中导入最新的 Paypal sdk?

如何在Android Studio里设置Build Tool版本

如何在Android Studio里设置Build Tool版本

如何下载安装android studio最新版本