項目構(gòu)建工具
目前我涉及到的項目構(gòu)建工具主要有三種单匣,還都主要是面向java的:
- Ant
- Gradle
- Maven
按照市面上說的,Gradle的功能是最強大的,雖然我更喜歡用Maven,雖然說是項目構(gòu)建工具暴浦,但是對于我這個學(xué)生來說,主要功能就是依賴管理晓锻,Maven的配置容易多了歌焦。
Gradle配置
Gradle的配置可以看成兩類(自己瞎編的名字):運行態(tài),倉庫態(tài)砚哆。
運行態(tài)指執(zhí)行g(shù)radle命令時需要的配置独撇,一般在脫離IDE的場景下使用的比較多,不然躁锁,我覺得沒必要配置纷铣,默認(rèn)的環(huán)境變量名應(yīng)該是GRADLE_HOME,常見配置也就是在Path里面配置下其下的bin目錄战转,方便在任意位置使用gradle指令搜立。運行態(tài)是基于特定的gradle版本的,我目前接觸到gradle使用比較多的場景是Android開發(fā),每個android項目使用的gradle版本都不一樣友鼻,所以,運行態(tài)的配置基本上沒用井厌。
第二類配置是倉庫態(tài)颠通,對應(yīng)的環(huán)境變量名是GRADLE_USER_HOME址晕,默認(rèn)位置是$USER_HOME/.gradle,這里主要會放置庫文件蒜哀,緩存文件等斩箫,比如構(gòu)建時下載的依賴包吏砂,各版本的gradle撵儿,具體介紹參見官方文檔。這里還有一個很重要的文件狐血,gradle.properties文件淀歇。一般為了節(jié)省系統(tǒng)盤的空間,我都會將這個目錄設(shè)置到比較大的盤里面去匈织,所以浪默,就需要在環(huán)境變量里面顯性的設(shè)置GRADLE_USER_HOME,方便應(yīng)用程序缀匕,Android Studio在構(gòu)建項目的時候去索引纳决。
代理配置
既然說到代理,那肯定時要訪問網(wǎng)絡(luò)乡小,對于gradle阔加,訪問網(wǎng)絡(luò)的目的也就是下載依賴,所以满钟,代理配置最終的落地都是GRADLE_USER_HOME下的gradle.properties內(nèi)胜榔,配置主要分為3種,http湃番,https夭织,socket。
- http:
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=10086
- https:
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=10086
- socket
org.gradle.jvmargs=-DsocksProxyHost\=127.0.0.1 -DsocksProxyPort\=10086
上面舉得例子吠撮,是配置本地127.0.0.1的10086端口作為下載的代理端口尊惰,具體的配置根據(jù)自己機器上的代理設(shè)置決定。詳細(xì)的代理配置泥兰,和其他的屬性配置弄屡,參照官方文檔。
一些可能是坑的坑
Android Studio下逾条,如果AS配置了代理琢岩,在build的時候,默認(rèn)會讓Gradle繼承AS的代理师脂,而且担孔,AS貌似不能辨別改變默認(rèn)位置的GRADLE_USER_HOME江锨,依然會在$USER_HOME/.gradle下新建一個屬性文件保存代理設(shè)置。雖然糕篇,貌似對實際位置的GRADLE_USER_HOME的配置沒影響啄育,但是很讓人糟心,所以拌消,一般情況下挑豌,就不用給AS配置代理了,直接給GRADLE_USER_HOME配置墩崩,反正AS也用不上代理氓英。
配置代理的目的是為了讓Gradle在構(gòu)建項目的時候能順利下載依賴。如果鹦筹,配置了代理铝阐,下載依然很慢,甚至失敗铐拐,不如嘗試注釋掉代理徘键,或者,改變build.gradle倉庫配置內(nèi)google和jcenter的調(diào)用順序遍蟋。gradle的下載吹害,除了依賴包的下載,還有不同版本gradle的下載虚青,這里不妨手動下載它呀,然后復(fù)制到庫目錄對應(yīng)的位置,修改下載標(biāo)記文件后綴名為ok就好了挟憔。
google()
jcenter()