AndroidStudio 3.4更新了啥?(转载)
每次到AndroidStudio新版本發(fā)布的時候,都忍不住想更新一波,例如現(xiàn)在的AndroidStu dio3.4
? ? 不過說真的,以前在AS2.0的時代,我是很怕更新的,因?yàn)槟莻€時候更新AS往往需要你更新gradle版本,但是gradle版本一更新,舊項(xiàng)目就開始不適應(yīng)了,一堆gradle的坑,特別是引入了dagger2之后,更要死的感覺。
? ? 多說一句,升級AS問題不大,但是你要想跟隨AS升級,把Gradle也升級一波,那我還是勸你先三思而后行。
直到了3.0之后,我才感覺AS這個IDE才開始穩(wěn)步發(fā)展了。
那說下這次3.4都更新了啥。
?1. Project Structure Dialog
?2. ResourceManager
?3. Plugin面板?
?4. R8
?
?
Project Structure Dialog(PSD)
其實(shí)就是我們平時對項(xiàng)目主程,按下F4的時候,顯示的那個dialog。發(fā)現(xiàn)里面確實(shí)是多了幾個功能。如圖
發(fā)現(xiàn)呢,UI的話還是有點(diǎn)變化的。主要是看看功能變化,上面的Project、SDK Location都可以跳過了,可以看到第三個,新增的Variables。
?
Variables
?可以理解成,模塊的gradle變量依賴。在UI上面,可以看到整個App的模塊目錄,然后在目錄下面又有不同的dependencies。
(因?yàn)樯婕暗巾?xiàng)目名,所以打碼了)
先說下這個dependencies是什么呢?為什么有的項(xiàng)目會有dependencies呢?
一般的話,在開發(fā)過程中,特別是涉及到模塊化開發(fā)的時候,為了保證全部模塊都使用同一個依賴庫的管理,這里一般有兩種方法:
1.設(shè)置一個叫dependencies.gradle文件,里面主要是設(shè)置一些常用第三方庫的依賴。
2.直接在主程的build.gradle下創(chuàng)建一個dependencies的節(jié)點(diǎn)。
?
先說方法一,就拿我以前負(fù)責(zé)搭建的一個項(xiàng)目為例。
然后在項(xiàng)目主程的build.gradle添加依賴
然后在子模塊使用
大概就這樣吧,一個依賴管理器,然后在主程項(xiàng)目添加引用,再到子模塊使用。
?
方法二:
直接在主程下面的allprojects節(jié)點(diǎn)下,添加ext和dependencies節(jié)點(diǎn)
兩者的方式都是一致的,為了做一個gradle的依賴管理。但是發(fā)現(xiàn)只有方案2的會顯示在variables上,后面查了下官方的文檔,他們的做法也是方案二的做法。
所以呢variables上面主要是一些定義在gradle中的變量。
?
再看到下面的Modules面板,和之前的功能大致一樣,但是多了些提示的功能,UI上面也更加友好。但是和之前的相差不是很大。簡單略過下
?
dependencies面板
在3.4版本,dependencies是單獨(dú)拿了出來,還擴(kuò)展了不少功能,最關(guān)鍵的一個莫過于是
依賴庫的查找了 我們以前添加第三方庫的依賴,一般是maven找,或者GitHub找對應(yīng)的庫。但是現(xiàn)在AS提供一個搜索依賴庫的功能
dependencies面板的說明大概如上了,列出了當(dāng)前模塊依賴的第三方模塊、右側(cè)的就是不同構(gòu)建版本下的依賴信息,可以詳細(xì)看到依賴包的類。點(diǎn)擊的一個dependencies的時候還有具體的提示,如圖
?
依賴庫的查找
通過dependencies里面的+小箭頭,再選中l(wèi)ibrary dependency就可以調(diào)到搜索頁面了,可以搜Maven,JCenter等遠(yuǎn)程的倉庫,也可以搜索本地的,大大減少了添加依賴時找包的問題- -。
但是也有一個需要注意的地方,看到這段注釋,查找的第三方庫都是根據(jù)我們projects項(xiàng)目的build.gradle中的repositories中配置的倉庫控制。例如jcenter,Maven那些。
所以為了加快搜索速度,一般在projects下的build.gradle中的repositories添加如下配置
?
例如添加個OKHttp看看
注意,這里面搜索出來的可能比較多。這就需要取我們常用的,squareup下面的OKHttp3了,然后右側(cè)有一個版本可以選擇。點(diǎn)擊OK之后,依賴只是添加到了清單文件,但是當(dāng)我們構(gòu)建gradle的時候就生效了。
再次點(diǎn)擊這里的ok,就開始構(gòu)建gradle了。
ps:有時候搜索的時候會提示noting to show...那就得看看project->build.gradle中是否配置了上述所說的那些倉庫依賴了,有的情況下,添加了倉庫依賴之后,也未必能找到。那就多試幾次查找就好了。
?
buildVariants面板
buildVariants,感覺這個功能沒啥用,因?yàn)閎uildVariants需要配置的遠(yuǎn)比面板提供的信息要多
?
Suggestions面板:
對當(dāng)前項(xiàng)目模塊構(gòu)建的信息做一個提示建議,例如依賴的升級
以上就是PSD的東西了,但是3.4更新的ResourceManager也是厲害。直接上圖
?
ResourceManager
默認(rèn)會在左邊的側(cè)邊欄找到,或者通過View->Tools Window->Resource Manager找到
?
打開ResourceManager 面板是這樣的
感覺ResourceManager真的加快了開發(fā)的效率,尤其是在做APK優(yōu)化,接手項(xiàng)目,查詢layout的時候,簡直是質(zhì)的提升。
而且通過filter中勾選library查看第三方依賴的一些layout啊信息等,就可以針對性做優(yōu)化了。
?
Plugin面板
面板的更新,也改變得比較直觀,都是照顧程序員啊,眼睛不好使,所以文字描述啊,分類那些字體都放得大大的。
關(guān)鍵一個好的地方,搜索和結(jié)果是放在一起了。以前的版本,每次都要點(diǎn)下下面的browser...這邊直接搜一下就ok了。
然后更新的面板也單獨(dú)抽取出來,比較直觀和容易地管理插件
?
R8
什么是R8?看到官網(wǎng)文檔,R8是在3.3 beta的時候發(fā)布的一個功能,而3.4直接用R8的方式構(gòu)建項(xiàng)目。
簡單來說R8主要是針對proguard做的一系列的優(yōu)化,將編譯中的一部分任務(wù)集成在一起,提高了編譯效率
?
未開啟R8之前的編譯任務(wù)如圖
?
R8構(gòu)建項(xiàng)目
?
R8效率對比,圖來自官網(wǎng)
默認(rèn)可以在gradle.properties中關(guān)閉R8
?
再說下,在3.4遇到的功能,可能是之前3.3就有的功能,現(xiàn)在才發(fā)現(xiàn)
?
XML文件中的顏色提示器
?
XML層級提示器
?
?
最后上一個圖,很久之前的ICON構(gòu)造工具了,也是AS自帶的= =。坤哥律師函警告
?
?
啦啦啦啦~~~6.10更新了 dependencies與project-build.gradle關(guān)系說明
總結(jié)
以上是生活随笔為你收集整理的AndroidStudio 3.4更新了啥?(转载)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下启动程序常见问题,linux
- 下一篇: linux编写复制脚本程,常用的Shel