解决 AS Gradle 一直 Buildling 或 refreshing 的问题

    xiaoxiao2021-03-25  123

    解决 AS Gradle 一直 Buildling 或 refreshing 的问题

    问题

    在我们升级 Android Studio 版本,或者修改了项目中 Gradle 相关的配置,导致打开项目一直在 Buildling 或者 refreshing。

    要解决这类问题,需要 Gradle 和 Android Studio 关于 Gradle 配置的知识,下面先说一下 Android Studio 项目 Gradle 相关的几个概念。

    Gradle

    Gradle 是一种构建项目工具。

    Gradle 插件

    在项目的 build.gradle 文件中有这样一句配置:

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

    这里的版本是 Gradle 插件的版本而不是 Gradle 版本。每个版本插件都有对应要求最低的 Gradle 版本。

    gradle\wrapper 目录

    这个目录是所在项目默认的 gradle 环境。

    wrapper 是针对所在项目的,只在所在项目内起作用,没有安装在本地,否则所有的项目都使用一个 Gradle 版本,如果两个项目使用的是不同的 Gradle 版本,就没办法区别了,所以 Google 使用 gradle 插件实现了 wrapper,可以给每个项目配置需要的 Gradle 版本。

    gradle-wrapper.properties 文件

    通常,建好一个新项目,该文件的内容如下:

    #Fri Mar 03 15:53:44 CST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

    前几项是 Gradle 的目录,最后一个是需要的 Gradle 版本的 Url。

    studio安装目录\gradle

    这个目录是 Studio 新建项目默认使用的 Gradle 版本。

    6.C:\Users\用户名.gradle\wrapper\dists

    所有的 Gradle 版本 gradle-版本号-all 或 gradle-版本号-bin 都保存在这里。

    解决问题

    知道了上面那些概念,现在来看看怎样解决问题。

    出现这种问题的原因是 Android Studio 在为我们下载需要的 Gradle,而由于网络不好还是 Studio 下载东西本身就慢的原因导致我们等很长时间,最终放弃,重启 Studio,building,重启 Studio...

    有两种情况:

    Studio 版本升级,需要升级默认的 Gradlegradle-wrapper.properties 文件 中的 distributionUrl 指向的 Gradle 版本,本地不存在

    问题 1 解决方案

    1.等,pass,有时候下载不下来等再长时间也是白玩。

    2.打开 C:\Users\用户名\.gradle\wrapper\dists 目录,进入到最新的 Gradle 目录里。 如升级 Studio 需要 gradle-3.3-all 版本。那么用浏览器访问 https://services.gradle.org/distributions/gradle-3.3-all.zip 下载 gradle3.3-all 版本压缩包,进入 C:\Users\用户名\.gradle\wrapper\dists\gradle-3.3-all\55gk2rcmfc6p2dg9u9ohc3hw9 目录中,删除除 gradle-3.3-all.zip.lck 文件外的所有文件夹和文件,复制浏览器下载好的 gradle-3.3-all.zip 到该目录,重新打开 Studio 即可。

    问题 2 解决方案

    1.查看 gradle-wrapper.properties 要求的 Gradle 版本,去 C:\Users\用户名\.gradle\wrapper\dists 目录中看看对应版本目录下有没有对于 Gradle 版本的 zip包,没有的话,下载好丢进来即可,和问题 1 的解决方案一样。

    2.因为 Studio 项目默认使用项目中的 Gradle 版本,即 gradle-wrapper.properties 文件配置的 Gradle 版本。我们下载不到 Gradle 的时候,可以给当前项目设置本地存在的 Gradle 版本。

    这时候可能会报错:

    Error:(1, 0) Minimum supported Gradle version is 3.3. Current version is 3.2.

    这是因为给本项目配置的 Gradle 版本没有达到 classpath 'com.android.tools.build:gradle:2.3.0' gradle 插件要求的最低版本,插件版本改小点就行。 这是 Gradle 插件各个版本的信息

    总结

    出现 Gradle 一直 Buildling 或 refreshing 的问题是因为 Android Studio 在下载依赖的 Gradle 版本太慢,解决方案最好是自己下载需要的 Gradle 版本压缩包,丢进对应目录即可。

    转载请注明原文地址: https://ju.6miu.com/read-11596.html

    最新回复(0)