AndroidStudio升级后,离线更新Gradle版本失败问题解决

发现问题

  最近项目差不多完结了,赶紧升级了一波我的撸码装备——AndroidStudio。不升级不知道,一升级吓一跳。新建一个项目工程一个劲给我报错。

AndroidStudio升级后,离线更新Gradle版本失败问题解决

解决问题

  看这样子,应该是Gradle的问题。原来,每个 AS 插件版本都是有自己对应的 Gradle 版本的,大致对应如下:

AS插件版本 Gradle版本
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+

  上面说的 AS 插件版本,就是在 Peoject Structure 中显示的这个版本号。我们可以粗略的认为这个就是你AS的版本号。可以看到,我安装的是 3.1.4 版本的 AS,那么对应的 Gradle 版本是 4.4 的。根据上表是对应的,那么为啥不行呢?

AndroidStudio升级后,离线更新Gradle版本失败问题解决

  原来是我们公司的网络有访问限制,在 gradle-wrapper.properties 中定义的这个Gradle包的下载路径访问不了。导致 Gradle 没有更新到需要的版本。
AndroidStudio升级后,离线更新Gradle版本失败问题解决
  原来如此,那么是不是只需要自己把包下载了然后离线更新 Gradle 版本就可以了呢?
  我到 下载地址 下载了 gradle-4.4-all.zip 的包,放到了电脑的这个路径下。

C:\Users\<你的账户>\.gradle\wrapper\dists\gradle-4.4-all\一串随机的数\

  然后重启AS。加载了老半天,又给我报了错误。。。
AndroidStudio升级后,离线更新Gradle版本失败问题解决
  什么鬼???
  最后在 Settings 中看到了这么个选项【offline work】,默认是勾选的。试着取消勾选,再次重启了下AS。
AndroidStudio升级后,离线更新Gradle版本失败问题解决
  我×,居然OK了,工程加载完成。

温馨总结

  最后总结下,AS离线更新Gradle版本的坑。

  1. 下载的Gradle包,一直要是带 all 字眼的。如 gradle-4.4-all.zip,不是 gradle-4.4-src.zip 和 gradle-4.4-bin.zip 这种;
  2. 下载好的Gradle包放入以下这个路径之前,先把这个路径下的文件全部清空;

C:\Users<你的账户>.gradle\wrapper\dists\gradle-4.4-all\一串随机的数\

  1. 【重要】最后要把 Settings -> Gradle 中的 Offline Work 的勾选去掉;
  2. 记得重启下 AS。