我的AndroidStudio3.2.1,按理說Gradle應該對應的是得用 gradle-4.6-all.zip,但是在上圖所示位置選擇 gradle-4.6-all 的路徑,卻怎麼都不能成功 gradle build running。
同時,正常能用時用的是上圖以及下圖的配置:
如果想強行把Settings裏的Service directory path改成gradle-4.6-all
會報如這樣的錯誤:Gradle:Resolve javawriter.jar(com.squareup:javawriter:2.5.0)
過了幾天,回來更新,我知道爲什麼了。
1.爲什麼我設置的路徑是指向gradle-4.4-all的,但是我的AS3.2.1用它來編譯gradle-4.6的項目卻可以?
答案去到這個路徑裏找:
發現了沒有,在gradle-4.4-all目錄下,還包含了舊版本和4.6的版本,這是爲什麼呢?
因爲我在AS裏的Service directory path指定了路徑,當導入不同gradle版本的項目時,如果編譯器發現沒有相對應的gradle版本,那麼它就會開始下載對應版本存在這裏。
2.既然是設置的路徑問題導致的,那麼有沒有辦法設置一個路徑,裏面存放各個版本的gradle,當導入不同的Android項目時系統自動調用對應的gradle版本呢?
本人還沒找到這個問題的解決辦法。
我做了下嘗試,把Service directory path的路徑改爲,C:\Users\MKChen\.gradle\wrapper或者C:\Users\MKChen\.gradle\wrapper\dists 都沒能實現,有點遺憾。
等以後找到解決辦法了再回來更新吧。
--------------------------------------------------分割線------------------------------------------------------
找到解決辦法啦,也弄懂了,都怪自己的記性不好。
問題的源頭在於——詳見我的另一片文章:https://blog.csdn.net/m0_37292262/article/details/81395369
記住!!!
AS的默認gradle路徑爲——C:\Users\用戶名\.gradle
在這個路徑下會生成:
gradle不是可以離線下載嘛,放的路徑就是在:wrapper的dists路徑下
還要放在更細分的路徑下,看圖:
懂了吧?
接着:
但是這樣配置之後,打開AndroidStudio將Service 新建或者打開目錄在configure build時還是會 gradle sync failed。
原因是:你沒聯網或者沒FQiang!!
聯網後就解決了:
---------
再回過頭看此時.gradle文件夾:
至此,所有問題解決了,不過真的是折騰,但是經過這麼一折騰,我學到了很多東西。
1、比如AndroidStudio版本號對應着build.gradle裏指明的版本:
dependencies { classpath 'com.android.tools.build:gradle:3.2.1'
2、學到了不同AndroidStudio版本對應的gradle版本:
3、知道了默認的gradle路徑,就在C盤用戶目錄下的.gradle。還有認識了其中的目錄結構。
4、gradle4.6的新特性,如在build-gradle裏的google()現在一定要放在jcenter()之前。
buildscript { repositories { google() jcenter() }
5、AndroidStudio3.2.1的新特性——請看
Android Studio release notes:https://developer.android.google.cn/studio/releases/
6、AndroidStudio怎麼打開其他gradle版本的項目。