發現問題
最近項目差不多完結了,趕緊升級了一波我的擼碼裝備——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。