前言
Android Studio 3.6 穩(wěn)定版終于來了春寿,此版本的 Android Studio 包括對(duì)一些設(shè)計(jì)工具的更新,包括布局編輯器和資源管理器忽孽。
該版本的更新需要 Plugin 對(duì)應(yīng)更新支持绑改,比如
Dart
和Flutter
對(duì)應(yīng)的插件需要同步更新,首次啟動(dòng)可能比較卡扒腕,吃性能绢淀。
一、設(shè)計(jì)工具
此版本的Android Studio包括對(duì)一些設(shè)計(jì)工具的更新瘾腰,其中包括了布局編輯器和資源管理器皆的。
1. 拆分視圖并放大設(shè)計(jì)編輯器
此版本中包含對(duì)視覺設(shè)計(jì)編輯器的以下更新:
-
設(shè)計(jì)編輯器(例如,布局編輯器和導(dǎo)航編輯器)現(xiàn)在提供一個(gè)拆分視圖 的支持蹋盆,可以同時(shí)查看UI 的設(shè)計(jì)視圖和代碼視圖费薄。在編輯器窗口的右上角硝全,現(xiàn)在有三個(gè)按鈕可用于在查看選項(xiàng)之間切換:
要啟用拆分視圖,請(qǐng)單擊“ 拆分”圖標(biāo) 楞抡。
要啟用XML源代碼視圖伟众,請(qǐng)單擊Source圖標(biāo)
要啟用設(shè)計(jì)視圖,請(qǐng)單擊“ 設(shè)計(jì)”圖標(biāo)
- 設(shè)計(jì)編輯器中的縮放和平移控件已移至編輯器窗口右下角的浮動(dòng)面板召廷。
2.拾色器資源選項(xiàng)卡
為了在使用 XML 或設(shè)計(jì)工具中的顏色選擇器時(shí)可以快速更新應(yīng)用程序中的顏色資源值凳厢,IDE現(xiàn)在會(huì)填充顏色資源值。
3.資源管理
資源管理器包含以下更新:
- 資源管理器現(xiàn)在支持大多數(shù)資源類型竞慢。
- 搜索資源時(shí)先紫,資源管理器現(xiàn)在將顯示所有項(xiàng)目模塊的結(jié)果(以前,搜索僅從所選模塊返回結(jié)果)筹煮。
- 篩選器按鈕可以查看來自本地依賴模塊遮精,外部庫和 Android - 框架的資源也可以使用過濾器顯示主題屬性。
- 可以在導(dǎo)入過程中通過在資源上方的文本框中單擊來重命名資源败潦。
二本冲、更新了Android Gradle插件
最新版本的 Android Gradle 插件包括許多更新,包括構(gòu)建速度的優(yōu)化劫扒,對(duì)Maven發(fā)布插件的支持以及對(duì)視圖綁定的支持檬洞。
1. 查看綁定
視圖綁定后可以通過為每個(gè) XML 布局文件生成綁定類來更輕松地編寫與視圖交互的代碼。這些類包含對(duì)在相應(yīng)布局中具有ID的所有視圖的直接引用粟关。
因?yàn)樗鎿Q了findViewById()疮胖,所以視圖綁定消除了因無效的視圖ID導(dǎo)致空指針異常的風(fēng)險(xiǎn)。
要啟用視圖綁定闷板,需要使用 Android Gradle 插件 3.6.0 或更高版本澎灸,并在每個(gè)模塊的build.gradle文件中包含以下內(nèi)容 :
android {
viewBinding.enabled = true
}
三、應(yīng)用更改
現(xiàn)在在開發(fā)過程中可以添加一個(gè)類遮晚,然后單擊 “Apply Code Changes”
或 “Apply Changes and Restart Activity” 性昭,將該代碼更改部署到正在運(yùn)行的應(yīng)用程序中
四、重構(gòu)菜單選項(xiàng)以啟用 Instant Apps 支持
在創(chuàng)建應(yīng)用程序項(xiàng)目后立即啟用基礎(chǔ)模塊县遣,如下所示:
- 通過 從菜單欄中選擇View > Tool Windows > Project來打開“ 項(xiàng)目”面板糜颠。
- 右鍵單擊通常稱為“應(yīng)用程序”的基本模塊,然后選擇Refactor > Enable Instant Apps Support.>“啟用即時(shí)應(yīng)用程序支持”萧求。
- 3.在出現(xiàn)的對(duì)話框中其兴,從下拉菜單中選擇基本模塊。
- 4.單擊確定夸政。
注意:從“Create New Project ”向?qū)е屑磿r(shí)啟用基本應(yīng)用程序模塊的選項(xiàng)已刪除元旬。
五、在APK分析器中反混淆類和方法字節(jié)碼
使用APK Analyzer檢查DEX文件時(shí),可以按以下步驟對(duì)類和方法字節(jié)碼進(jìn)行模糊處理:
- 1.從菜單欄中選擇 Build > Analyze APK匀归。
- 2.在出現(xiàn)的對(duì)話框中坑资,導(dǎo)航到要檢查的APK,然后選擇它穆端。
- 3.點(diǎn)擊打開袱贮。
- 4.在 APK 分析器中,選擇要檢查的 DEX 文件体啰。
- 5.在DEX文件查看器中攒巍,為要分析的APK 加載 ProGuard 映射文件。
- 6.右鍵單擊要檢查的類或方法狡赐,然后選擇Show bytecode窑业。
六钦幔、Native Tooling
以下更新支持 Android Studio 中的本機(jī)(C / C ++)開發(fā)枕屉。
1. Kotlin支持
以前由 Java 支持的 Android Studio 支持的 NDK 功能,現(xiàn)在 Kotlin 也能夠支持了:
- 從JNI聲明導(dǎo)航到 C / C ++ 中的相應(yīng)實(shí)現(xiàn)函數(shù)鲤氢。將鼠標(biāo)懸停在托管源代碼文件中行號(hào)附近的C或C ++項(xiàng)目標(biāo)記上搀擂,可以查看此映射。
- 為JNI聲明自動(dòng)創(chuàng)建存根實(shí)現(xiàn)功能卷玉。首先定義JNI聲明哨颂,然后在C / C ++文件中鍵入“ jni”或方法名稱來激活。
- 未使用的 native implementation functions 在源代碼中突出顯示為警告相种。缺少實(shí)現(xiàn)的JNI聲明也將突出顯示為錯(cuò)誤威恼。
- 重命名(重構(gòu)) native implementation functions 時(shí),所有對(duì)應(yīng)的JNI聲明都會(huì)更新寝并。重命名 JNI 聲明以更新 native implementation functions 功能箫措。
- 對(duì)隱式綁定的 JNI 實(shí)現(xiàn)進(jìn)行簽名檢查。
2. 其他JNI改進(jìn)
Android Studio中 的代碼編輯器現(xiàn)在支持更無縫的 JNI 開發(fā)工作流程衬潦,包括改進(jìn)的類型提示斤蔓,自動(dòng)完成,檢查和代碼重構(gòu)镀岛。
3. 重新加載本機(jī)庫的APK
在 IDE 外部更新項(xiàng)目中的 APK 時(shí)不再需要?jiǎng)?chuàng)建新項(xiàng)目弦牡。Android Studio會(huì)檢測(cè)APK 中的更改,并提供重新導(dǎo)入 APK 的選項(xiàng)漂羊。
七驾锰、Attach Kotlin-only APK Sources
現(xiàn)在分析和調(diào)試預(yù)建的APK時(shí),可以附加僅 Kotlin 的外部 APK 源:https://developer.android.com/studio/debug/apk-debugger#attach_java 走越。
八椭豫、內(nèi)存探查器中的泄漏檢測(cè)
現(xiàn)在,在 Memory Profiler 中分析堆轉(zhuǎn)儲(chǔ)時(shí),可以過濾 Android Studio 認(rèn)為可能表明應(yīng)用程序中的內(nèi)存泄漏 Activity
和 Fragment
實(shí)例的性能分析數(shù)據(jù)捻悯。
篩選器顯示的數(shù)據(jù)類型包括:
-
Activity
實(shí)例已被銷毀匆赃,但仍在引用中。 -
Fragment
實(shí)例無效FragmentManager
但仍在引用中今缚。
在某些情況下算柳,例如以下情況,過濾器可能會(huì)產(chǎn)生誤報(bào):
- A
Fragment
已創(chuàng)建姓言,但尚未使用瞬项。 - 一個(gè)
Fragment
被緩存,但不作為的一部分FragmentTransaction
何荚。
要使用此功能囱淋,請(qǐng)先捕獲堆轉(zhuǎn)儲(chǔ)或將堆轉(zhuǎn)儲(chǔ)文件導(dǎo)入Android Studio。要顯示可能正在泄漏內(nèi)存的碎片和活動(dòng)餐塘,請(qǐng)?jiān)凇皟?nèi)存探查器”的堆轉(zhuǎn)儲(chǔ)窗格中選中“活動(dòng)/碎片泄漏”復(fù)選框妥衣。(篩選堆轉(zhuǎn)儲(chǔ)以防止內(nèi)存泄漏。)
九戒傻、模擬器
Android Studio 3.6 可以利用 Android Emulator 29.2.7
及更高版本中包含的多個(gè)更新税手,如下所述。
1. 改進(jìn)的位置支持
Android Emulator 29.2.7 及更高版本為仿真GPS坐標(biāo)和路線信息提供了額外的支持需纳。當(dāng)打開 Emulators Extended controls, 控件時(shí)芦倒, Location 選項(xiàng)卡中的選項(xiàng)現(xiàn)在組織在兩個(gè)選項(xiàng)卡下:“Single points”和“Routes”。
Single points
在 Single points 標(biāo)簽中不翩,可以使用 Google Maps Webview 搜索感興趣的點(diǎn)兵扬,就像在手機(jī)或?yàn)g覽器上使用Google Maps一樣。搜索或單擊地圖中的位置時(shí)口蝠,可以通過選擇地圖底部附近的保存點(diǎn)來保存位置器钟。所有保存的位置都列在擴(kuò)展控件窗口的右側(cè) 。
要將“模擬器”位置設(shè)置在地圖上選擇的位置亚皂,請(qǐng)單擊 Extended controls 窗口右下角附近的“ 設(shè)置位置”按鈕 俱箱。
Routes
與 Single points 標(biāo)簽類似, Routes 標(biāo)簽提供了Google Maps Web視圖灭必,可用于在兩個(gè)或多個(gè)位置之間創(chuàng)建路線狞谱。要?jiǎng)?chuàng)建和保存路線,請(qǐng)執(zhí)行以下操作:
- 1.在地圖視圖中禁漓,使用文本字段搜索路線中的第一個(gè)目的地跟衅。
- 2.從搜索結(jié)果中選擇位置。
- 3.選擇 Navigate 按鈕
- 4.從地圖上選擇路線的起點(diǎn)播歼。
- 5.(可選)點(diǎn)擊添加目的地伶跷,將更多完粒靠點(diǎn)添加到路線中。
- 7.為路線指定名稱叭莫,然后點(diǎn)擊保存蹈集。
要按照保存的路線模擬模擬器,請(qǐng)從 Saved routes 列表中選擇路線雇初,然后單擊 Extended controls 窗口右下角附近的 Play route 拢肆。要停止模擬,請(qǐng)點(diǎn)擊停止路線靖诗。
要按照指定的路徑連續(xù)仿真模擬器郭怪,請(qǐng)啟用重復(fù)播放旁邊的開關(guān)。要更改仿真器遵循指定路線的速度刊橘,請(qǐng)從 Playback speed 下拉列表中選擇一個(gè)選項(xiàng)鄙才。
2. 多顯示器支持
Android模擬器現(xiàn)在允許將應(yīng)用程序部署到支持可自定義尺寸的多個(gè)顯示器,并可以幫助測(cè)試支持多窗口和多顯示器的應(yīng)用程序 促绵。在虛擬設(shè)備運(yùn)行時(shí)攒庵,最多可以添加兩個(gè)以下顯示:
- 1.打開擴(kuò)展控件,然后導(dǎo)航到 Displays 選項(xiàng)卡绞愚。
- 2.通過單擊添加 Add secondary display 來添加另一個(gè)顯示叙甸。
- 3.在 Secondary displays 菜單中,執(zhí)行以下一項(xiàng)操作:
- a.選擇一種預(yù)設(shè)的寬高比
- b.選擇自定義并為自定義顯示設(shè)置高度位衩,寬度和dpi。
- 4.(可選)單擊 Add secondary display 以添加第三顯示熔萧。
- 單擊 Apply changes糖驴,將指定的顯示添加到正在運(yùn)行的虛擬設(shè)備。
3. 適用于Android Automotive OS的新虛擬設(shè)備和項(xiàng)目模板
使用 Android Studio 創(chuàng)建新項(xiàng)目時(shí)佛致,現(xiàn)在可以從 Create New Project 向?qū)У?Automotive 選項(xiàng)卡中的三個(gè)模板中進(jìn)行選擇:No Activity贮缕,Media service 和 Messaging service 。
對(duì)于現(xiàn)有項(xiàng)目俺榆,可以通過從菜單欄中選擇 File > New > New Module感昼,然后選擇 Android Automotive 來添加對(duì) 設(shè)備的支持。然后罐脊, Create New Module 向?qū)⒅笇?dǎo)使用 Android Automotive 項(xiàng)目模板之一創(chuàng)建新模塊定嗓。
此外,現(xiàn)在可以通過在 Virtual Device Configuration 向?qū)У?strong>Automotive選項(xiàng)卡中選擇以下選項(xiàng)之一萍桌,為Android Automotive OS設(shè)備 create an Android Virtual Device (AVD)宵溅。
- 1.Polestar 2:創(chuàng)建一個(gè)模擬Polestar 2主機(jī)的AVD。
- 2.Automotive (1024p landscape):為一般的1024 x 768 px Android車載主機(jī)創(chuàng)建一個(gè)AVD上炎。
十恃逻、可恢復(fù)的SDK下載
現(xiàn)在,當(dāng)使用 SDK Manager 下載 SDK 組件和工具時(shí),Android Studio 現(xiàn)在允許恢復(fù)被中斷(例如由于網(wǎng)絡(luò)問題)的下載寇损,而無需從頭開始重新開始下載凸郑。當(dāng)互聯(lián)網(wǎng)連接不可靠時(shí),此增強(qiáng)功能對(duì)于大型下載(例如Android模擬器或系統(tǒng)映像)特別有用矛市。
另外线椰,如果在后臺(tái)運(yùn)行SDK下載任務(wù),則現(xiàn)在可以使用狀態(tài)欄中的控件暫统九危或繼續(xù)下載憨愉。
狀態(tài)欄中的后臺(tái)下載任務(wù),帶有新控件卿捎,可暫团渥希或繼續(xù)下載。
十一午阵、Win32已棄用
Windows 32 位版本的Android Studio在 2019 年 12 月之后將不再獲得更新躺孝,并且在 2020 年 12 月之后將不再獲得支持。開發(fā)者可以繼續(xù)使用 Android Studio底桂。但是植袍,要接收其他更新,請(qǐng)將工作站升級(jí)到 Windows 的 64 位版本籽懦。
十二于个、優(yōu)化 Gradle 同步時(shí)間的新選項(xiàng)
在以前的版本中,Android Studio 在 Gradle Sync 期間檢索了所有 Gradle 任務(wù)的列表暮顺。對(duì)于大型項(xiàng)目厅篓,檢索任務(wù)列表可能會(huì)導(dǎo)致同步時(shí)間變慢。
要提高Gradle同步性能捶码,請(qǐng)轉(zhuǎn)到 File > Settings > Experimental 羽氮, 然后選擇在Gradle同步期間不構(gòu)建Gradle任務(wù)列表。
啟用此選項(xiàng)后惫恼,Android Studio會(huì)在同步過程中跳過構(gòu)建任務(wù)列表档押,從而使Gradle Sync更快地完成并改善UI響應(yīng)速度。請(qǐng)記住祈纯,當(dāng)IDE跳過構(gòu)建任務(wù)列表時(shí)令宿,Gradle面板中的任務(wù)列表為空,并且構(gòu)建文件中的任務(wù)名稱自動(dòng)完成不起作用盆繁。
十三掀淘、切換Gradle離線模式的新位置
要啟用或禁用Gradle的離線模式,請(qǐng)首先從菜單欄中選擇View > Tool Windows > Gradle油昂。然后革娄,在 Gradle 窗口頂部附近倾贰,點(diǎn)擊Toggle Offline Mode:
十四、3.6的已知問題
本部分介紹了 Android Studio 3.6 中的當(dāng)前已知問題拦惋。
1. Linux上的鍵映射沖突
在Linux上匆浙,某些鍵盤快捷鍵與默認(rèn)的Linux鍵盤快捷鍵以及流行的窗口管理器(例如KDE和GNOME)的鍵盤快捷鍵沖突。這些鍵盤快捷鍵可能無法在Android Studio中正常工作厕妖。
2. Chrome操作系統(tǒng)上的小界面文字
在Chrome操作系統(tǒng)上首尼,文本看起來可能比以前的版本小得多。要變通解決此問題言秸,請(qǐng)執(zhí)行以下操作:
- 1.通過單擊 File > Settings 打開設(shè)置窗口软能。
- 2.導(dǎo)航到Appearance & Behavior > Appearance。
- 3.選擇使用Use custom font举畸。
- 4.增加字體大小查排。
- 5.在Settings窗口中,導(dǎo)航至 Editor > Font抄沮。
- 6.增加字體大小跋核。
- 7.單擊確定。
2020年叛买,愿所有人都能幸福將康砂代,每天開心,被這個(gè)世界溫柔對(duì)待
?歡迎關(guān)注于哥的技術(shù)公眾號(hào)【終端研發(fā)部】率挣,話癆技術(shù)刻伊,職場(chǎng),招聘难礼,在線面試娃圆,進(jìn)階提升。沒有做不到的蛾茉,只有想不到的×寐梗回復(fù)1024即可獲得相關(guān)的學(xué)習(xí)資料