发现问题
最近项目差不多完结了,赶紧升级了一波我的撸码装备——AndroidStudio。不升级不知道,一升级吓一跳。新建一个项目工程一个劲给我报错。
解决问题
看这样子,应该是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 的。根据上表是对应的,那么为啥不行呢?
原来是我们公司的网络有访问限制,在 gradle-wrapper.properties 中定义的这个Gradle包的下载路径访问不了。导致 Gradle 没有更新到需要的版本。
原来如此,那么是不是只需要自己把包下载了然后离线更新 Gradle 版本就可以了呢?
我到 下载地址 下载了 gradle-4.4-all.zip 的包,放到了电脑的这个路径下。
C:\Users\<你的账户>\.gradle\wrapper\dists\gradle-4.4-all\一串随机的数\
然后重启AS。加载了老半天,又给我报了错误。。。
什么鬼???
最后在 Settings 中看到了这么个选项【offline work】,默认是勾选的。试着取消勾选,再次重启了下AS。
我×,居然OK了,工程加载完成。
温馨总结
最后总结下,AS离线更新Gradle版本的坑。
- 下载的Gradle包,一直要是带 all 字眼的。如 gradle-4.4-all.zip,不是 gradle-4.4-src.zip 和 gradle-4.4-bin.zip 这种;
- 下载好的Gradle包放入以下这个路径之前,先把这个路径下的文件全部清空;
C:\Users<你的账户>.gradle\wrapper\dists\gradle-4.4-all\一串随机的数\
- 【重要】最后要把 Settings -> Gradle 中的 Offline Work 的勾选去掉;
- 记得重启下 AS。