前言
前几天Android Studio推送了2.3版本的更新,手贱升级了下,当时在写项目,还没有出什么问题,可是今天写Demo的时候,新建项目一直卡在了Building gradle project info,浪费了很长的时间才弄好,其实对于这个问题百度出来的方案都是正确的,不过就是差那么一点点透,所以分享下一个容易忽视的地方。
why 卡死
首先之所以卡在Building gradle project info的原因是项目使用了不同版本的Gradle,所以Android Studio自动联网下载对应版本,可是由于墙的存在,导致无法下载,所以就卡死在这个步骤(Android Studio 2.3其实能够不翻墙下载,只不过速度超级慢)。
百度出来的答案都是直接下载对应的Gradle,然后放在本地即可,下载地址:http://services.gradle.org/distributions/,可是并没有说明我需要下载哪一个版本,刚开始我以为是项目主目录下面的build.gradle文件中classpath 'com.android.tools.build:gradle:2.3.2'标识的版本,然后在上面的网址中找了半天,并没有2.3.2版本,这尼玛,坑爹啊!!!
而且下一步就是下载版本以后放在用户目录下面的\.gradle\wrapper\dists\gradle-x.x-all\xxxxxxxxxxx\下面,其中xxxxxxxxxxx是一个类型乱码的文件夹,然后这里让我想了半天.zip文件要放在哪里。
正确姿势
首先我测试的Android Studio 2.3其实可以在不翻墙的情况下下载,所以可以等待,等不及的可以打开用户目录(C:\Users\Jay\)下的\.gradle\wrapper\dists\文件夹,里面有很多不同版本的Gradle文件夹,如下图。
然后我们点开最新的几个文件夹,如果里面有zip文件,则说明这个版本本地已经有了,如果存在gradle-3.3-all.zip.part,说明本地缺少3.3-all版本的gradle,直接将下载的zip文件放在这里重启Android Studio即可。
对应的,如果我们导入网上别人的项目遇到打不开的情况,也是直接在\.gradle\wrapper\dists\中找找没有被下载下来的版本,然后放进去就可以了。
题外话
在查看.gradle文件夹的时候,发现同级目录下面存在.AndroidStudio2.2、.AndroidStudio2.3、.AndroidStudioX.X多个版本的文件夹,其实只有你自己对应版本的文件夹有效,所以其他几个都可以删除掉(可以省掉好多个G的C盘空间 ),看到这里我就纳闷了,为什么每一次升级就新建一个文件夹,并且旧版本的文件夹没有被自动删除,白白的占用C盘空间。Android Studio的优化还是长路漫漫啊。