在上一篇《Android探路(2):项目创建HelloWorld》中我们学习了如何创建工程,但如果真正按照说明去操作后就会发现一个问题。在最后点击Finish按钮后,会出现如下界面:
Android探路(3): 解决Building gradle project info卡住的问题

起初,笔者以为这个停留片刻后便会进入主界面,然而实际情况是界面会一直卡在这地方,why???

实际上,这是由于Android studio 会根据指定的url去Gradle官网下载新版文件,所需时间过长,很大可能下载不成功,一直卡在Building gradle project info界面(注:包括导入工程时一些操作出现Building gradle project info或者refreshing gradle project等情况,实际上也都是同样的问题造成的)。

那么问题来了,为什么会去下载Gradle?有没有什么解决方案呢?


一、为什么需要下载Gradle?

根据提示我们知道项目实际是已经创建了,我们找到项目的目录,根据项目中 \gradle\wrapper\gradle-wrapper.properties文件的配置,发现最后一行代码指明了去下载指定版本的gradle。如下图所示:
Android探路(3): 解决Building gradle project info卡住的问题

我们发现请求的版本是gradle-3.3.

默认下载的gradle保存在C:\Users\用户名.gradle\wrapper\dists\gradle-x.xx-all\xxxxxxxxxxxx。如下图所示:
Android探路(3): 解决Building gradle project info卡住的问题

界面一直卡住,实际上就是这地方文件一直未下载完成。gradle官网虽然可以访问,但是速度真的是龟速啊…


二、Android gradle plugin和 Gradle版本版本说明

在上一步问题查找中我们发现配置要求下载的Gradle版本是3.3,那么其他版本是否可以呢?

实际上,Android gradle plugin和 Gradle版本关系需要正确匹配,如果不正确,可能出现报错或重新去下载最新版本的Gradle。

Android gradle plugin和 Gradle版本关系如下:

Android 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.0.0 – 2.1.2 2.10 – 2.13
2.1.3+ 2.14.1+
2.3.0+ 3.3+

参考地址:https://developer.android.com/studio/releases/gradle-plugin.html

我们检查本地安装的Android Studio版本信息:
Android探路(3): 解决Building gradle project info卡住的问题

Android Studio的版本为2.3.1,对应的Gradle版本应该为3.3+。(注:笔者下载的Android Studio2.3.1版本,安装目录中自带的Gradle版本为3.2,根据表格上的对应关系来说版本是不匹配的,所以笔者下载离线包做了更新)


三、解决方案

至此,了解了问题原因,接下来我们就要考虑如何解决问题。这里提供两种解决方案:

1. 下载Gradle离线压缩包

在前面的讲解中,我们已经知道了Gradle的版本匹配关系,也已经知道了默认下载的存储位置。既然这样,我们便可以到官网去下载对应版本的压缩包。

下载地址:https://gradle.org/releases

下载完成后,复制到C:\Users\用户名.gradle\wrapper\dists\gradle-x.xx-all\xxxxxxxxxxxx目录下,运行Android Studio之后会自动解压。重新打开项目即可。

2. 使用Android Studio自带的Gradle

File→Setting,在设置对话框中中打开Gradle,如下图所示:

  • use default gradle wrapper(官方推荐) 根据项目中\gradle\wrapper\gradle-wrapper.properties文件配置,下载指定版本的gradle(默认存储路径:C:\Users\用户名.gradle\wrapper\dists\gradle-x.xx-all\xxxxxxxxxxxx)。
  • Use local gradle distribution
    选择Use local gradle distribution,然后选择Gradle
    的目录即可。这样就不用每次根据项目中\gradle\wrapper\gradle-wrapper.properties文件中的配置去下载指定版本的gradle。而是直接使用本地指定的gradle。

这里我们选择Use local gradle distribution,并指定Gradle路径即可(注:不管那种方式,注意版本匹配)。

问题圆满解决! ^_^

相关文章:

  • 2022-12-23
  • 2021-11-18
  • 2021-12-13
  • 2021-10-26
猜你喜欢
  • 2021-09-24
  • 2022-01-22
  • 2021-07-06
  • 2021-05-01
  • 2021-12-22
  • 2022-12-23
  • 2021-07-01
相关资源
相似解决方案