Android Studio 3.6 穩定版終於來了,此版本的 Android Studio 包括對一些設計工具的更新,包括佈局編輯器和資源管理器。
該版本的更新需要 Plugin 對應更新支援,比如 Dart 和 Flutter 對應的外掛需要同步更新,首次啟動可能比較卡,吃效能。
- 3.6.1 新的更新中移除了多重預覽功能已刪除,4.0 版本才正式開放;此外並修復了Git版本控制身份驗證問題
一、設計工具
此版本的Android Studio包括對一些設計工具的更新,其中包括了佈局編輯器和資源管理器。
1. 拆分檢視並放大設計編輯器
此版本中包含對視覺設計編輯器的以下更新:
-
設計編輯器(例如,佈局編輯器和導航編輯器)現在提供一個拆分檢視 的支援,可以同時檢視UI 的設計檢視和程式碼檢視。在編輯器視窗的右上角,現在有三個按鈕可用於在檢視選項之間切換:
-
要啟用拆分檢視,請單擊“ 拆分”圖示 。
-
要啟用XML原始碼檢視,請單擊Source圖示
-
要啟用設計檢視,請單擊“ 設計”圖示
-
- 設計編輯器中的縮放和平移控制元件已移至編輯器視窗右下角的浮動皮膚。
2.拾色器資源選項卡
為了在使用 XML 或設計工具中的顏色選擇器時可以快速更新應用程式中的顏色資源值,IDE現在會填充顏色資源值。
3.資源管理
資源管理器包含以下更新:
- 資源管理器現在支援大多數資源型別。
- 搜尋資源時,資源管理器現在將顯示所有專案模組的結果(以前,搜尋僅從所選模組返回結果)。
- 篩選器按鈕可以檢視來自本地依賴模組,外部庫和 Android - 框架的資源也可以使用過濾器顯示主題屬性。
- 可以在匯入過程中通過在資源上方的文字框中單擊來重新命名資源。
二、更新了Android Gradle外掛
最新版本的 Android Gradle 外掛包括許多更新,包括構建速度的優化,對Maven釋出外掛的支援以及對檢視繫結的支援。
1. 檢視繫結
檢視繫結後可以通過為每個 XML 佈局檔案生成繫結類來更輕鬆地編寫與檢視互動的程式碼。這些類包含對在相應佈局中具有ID的所有檢視的直接引用。
因為它替換了findViewById(),所以檢視繫結消除了因無效的檢視ID導致空指標異常的風險。
要啟用檢視繫結,需要使用 Android Gradle 外掛 3.6.0 或更高版本,並在每個模組的build.gradle檔案中包含以下內容 :
android {
viewBinding.enabled = true
}
複製程式碼
三、應用更改
現在在開發過程中可以新增一個類,然後單擊 “Apply Code Changes”
或 “Apply Changes and Restart Activity” ,將該程式碼更改部署到正在執行的應用程式中
四、重構選單選項以啟用 Instant Apps 支援
在建立應用程式專案後立即啟用基礎模組,如下所示:
-
- 通過 從選單欄中選擇View > Tool Windows > Project來開啟“ 專案”皮膚。
-
- 右鍵單擊通常稱為“應用程式”的基本模組,然後選擇Refactor > Enable Instant Apps Support.>“啟用即時應用程式支援”。
- 3.在出現的對話方塊中,從下拉選單中選擇基本模組。
- 4.單擊確定。
注意:從“Create New Project ”嚮導中即時啟用基本應用程式模組的選項已刪除。
五、在APK分析器中反混淆類和方法位元組碼
使用APK Analyzer檢查DEX檔案時,可以按以下步驟對類和方法位元組碼進行模糊處理:
- 1.從選單欄中選擇 Build > Analyze APK。
- 2.在出現的對話方塊中,導航到要檢查的APK,然後選擇它。
- 3.點選開啟。
- 4.在 APK 分析器中,選擇要檢查的 DEX 檔案。
- 5.在DEX檔案檢視器中,為要分析的APK 載入 ProGuard 對映檔案。
- 6.右鍵單擊要檢查的類或方法,然後選擇Show bytecode。
六、Native Tooling
以下更新支援 Android Studio 中的本機(C / C ++)開發。
1. Kotlin支援
以前由 Java 支援的 Android Studio 支援的 NDK 功能,現在 Kotlin 也能夠支援了:
- 從JNI宣告導航到 C / C ++ 中的相應實現函式。將滑鼠懸停在託管原始碼檔案中行號附近的C或C ++專案標記上,可以檢視此對映。
- 為JNI宣告自動建立存根實現功能。首先定義JNI宣告,然後在C / C ++檔案中鍵入“ jni”或方法名稱來啟用。
- 未使用的 native implementation functions 在原始碼中突出顯示為警告。缺少實現的JNI宣告也將突出顯示為錯誤。
- 重新命名(重構) native implementation functions 時,所有對應的JNI宣告都會更新。重新命名 JNI 宣告以更新 native implementation functions 功能。
- 對隱式繫結的 JNI 實現進行簽名檢查。
2. 其他JNI改進
Android Studio中 的程式碼編輯器現在支援更無縫的 JNI 開發工作流程,包括改進的型別提示,自動完成,檢查和程式碼重構。
3. 重新載入本機庫的APK
在 IDE 外部更新專案中的 APK 時不再需要建立新專案。Android Studio會檢測APK 中的更改,並提供重新匯入 APK 的選項。
七、Attach Kotlin-only APK Sources
現在分析和除錯預建的APK時,可以附加僅 Kotlin 的外部 APK 源:developer.android.com/studio/debu… 。
八、記憶體探查器中的洩漏檢測
現在,在 Memory Profiler 中分析堆轉儲時,可以過濾 Android Studio 認為可能表明應用程式中的記憶體洩漏 Activity
和 Fragment
例項的效能分析資料。
篩選器顯示的資料型別包括:
Activity
例項已被銷燬,但仍在引用中。Fragment
例項無效FragmentManager
但仍在引用中。
在某些情況下,例如以下情況,過濾器可能會產生誤報:
- A
Fragment
已建立,但尚未使用。 - 一個
Fragment
被快取,但不作為的一部分FragmentTransaction
。
要使用此功能,請先捕獲堆轉儲或將堆轉儲檔案匯入Android Studio。要顯示可能正在洩漏記憶體的碎片和活動,請在“記憶體探查器”的堆轉儲窗格中選中“活動/碎片洩漏”核取方塊。(篩選堆轉儲以防止記憶體洩漏。)
九、模擬器
Android Studio 3.6 可以利用 Android Emulator 29.2.7
及更高版本中包含的多個更新,如下所述。
1. 改進的位置支援
Android Emulator 29.2.7 及更高版本為模擬GPS座標和路線資訊提供了額外的支援。當開啟 Emulators Extended controls, 控制元件時, Location 選項卡中的選項現在組織在兩個選項卡下:“Single points”和“Routes”。
Single points
在 Single points 標籤中,可以使用 Google Maps Webview 搜尋感興趣的點,就像在手機或瀏覽器上使用Google Maps一樣。搜尋或單擊地圖中的位置時,可以通過選擇地圖底部附近的儲存點來儲存位置。所有儲存的位置都列在擴充套件控制元件視窗的右側 。
要將“模擬器”位置設定在地圖上選擇的位置,請單擊 Extended controls 視窗右下角附近的“ 設定位置”按鈕 。
Routes
與 Single points 標籤類似, Routes 標籤提供了Google Maps Web檢視,可用於在兩個或多個位置之間建立路線。要建立和儲存路線,請執行以下操作:
- 1.在地圖檢視中,使用文字欄位搜尋路線中的第一個目的地。
- 2.從搜尋結果中選擇位置。
- 3.選擇 Navigate 按鈕
- 4.從地圖上選擇路線的起點。
- 5.(可選)點選新增目的地,將更多停靠點新增到路線中。
- 7.為路線指定名稱,然後點選儲存。
要按照儲存的路線模擬模擬器,請從 Saved routes 列表中選擇路線,然後單擊 Extended controls 視窗右下角附近的 Play route 。要停止模擬,請點選停止路線。
要按照指定的路徑連續模擬模擬器,請啟用重複播放旁邊的開關。要更改模擬器遵循指定路線的速度,請從 Playback speed 下拉選單中選擇一個選項。
2. 多顯示器支援
- 3.6.1 新的更新中移除了多重預覽功能已刪除,4.0 版本才正式開放。
Android模擬器現在允許將應用程式部署到支援可自定義尺寸的多個顯示器,並可以幫助測試支援多視窗和多顯示器的應用程式 。在虛擬裝置執行時,最多可以新增兩個以下顯示:
- 1.開啟擴充套件控制元件,然後導航到 Displays 選項卡。
- 2.通過單擊新增 Add secondary display 來新增另一個顯示。
- 3.在 Secondary displays 選單中,執行以下一項操作:
- a.選擇一種預設的寬高比
- b.選擇自定義併為自定義顯示設定高度,寬度和dpi。
- 4.(可選)單擊 Add secondary display 以新增第三顯示。
-
- 單擊 Apply changes,將指定的顯示新增到正在執行的虛擬裝置。
3. 適用於Android Automotive OS的新虛擬裝置和專案模板
使用 Android Studio 建立新專案時,現在可以從 Create New Project 嚮導的 Automotive 選項卡中的三個模板中進行選擇:No Activity,Media service 和 Messaging service 。
對於現有專案,可以通過從選單欄中選擇 File > New > New Module,然後選擇 Android Automotive 來新增對 裝置的支援。然後, Create New Module 嚮導將指導使用 Android Automotive 專案模板之一建立新模組。
此外,現在可以通過在 Virtual Device Configuration 嚮導的Automotive選項卡中選擇以下選項之一,為Android Automotive OS裝置 create an Android Virtual Device (AVD)。
- 1.Polestar 2:建立一個模擬Polestar 2主機的AVD。
- 2.Automotive (1024p landscape):為一般的1024 x 768 px Android車載主機建立一個AVD。
十、可恢復的SDK下載
現在,當使用 SDK Manager 下載 SDK 元件和工具時,Android Studio 現在允許恢復被中斷(例如由於網路問題)的下載,而無需從頭開始重新開始下載。當網際網路連線不可靠時,此增強功能對於大型下載(例如Android模擬器或系統映像)特別有用。
另外,如果在後臺執行SDK下載任務,則現在可以使用狀態列中的控制元件暫停或繼續下載。
狀態列中的後臺下載任務,帶有新控制元件,可暫停或繼續下載。
十一、Win32已棄用
Windows 32 位版本的Android Studio在 2019 年 12 月之後將不再獲得更新,並且在 2020 年 12 月之後將不再獲得支援。開發者可以繼續使用 Android Studio。但是,要接收其他更新,請將工作站升級到 Windows 的 64 位版本。
十二、優化 Gradle 同步時間的新選項
在以前的版本中,Android Studio 在 Gradle Sync 期間檢索了所有 Gradle 任務的列表。對於大型專案,檢索任務列表可能會導致同步時間變慢。
要提高Gradle同步效能,請轉到 File > Settings > Experimental , 然後選擇在Gradle同步期間不構建Gradle任務列表。
啟用此選項後,Android Studio會在同步過程中跳過構建任務列表,從而使Gradle Sync更快地完成並改善UI響應速度。請記住,當IDE跳過構建任務列表時,Gradle皮膚中的任務列表為空,並且構建檔案中的任務名稱自動完成不起作用。
十三、切換Gradle離線模式的新位置
要啟用或禁用Gradle的離線模式,請首先從選單欄中選擇View > Tool Windows > Gradle。然後,在 Gradle 視窗頂部附近,點選Toggle Offline Mode:
十四、3.6的已知問題
本部分介紹了 Android Studio 3.6 中的當前已知問題。
1. Linux上的鍵對映衝突
在Linux上,某些鍵盤快捷鍵與預設的Linux鍵盤快捷鍵以及流行的視窗管理器(例如KDE和GNOME)的鍵盤快捷鍵衝突。這些鍵盤快捷鍵可能無法在Android Studio中正常工作。
2. Chrome作業系統上的小介面文字
在Chrome作業系統上,文字看起來可能比以前的版本小得多。要變通解決此問題,請執行以下操作:
- 1.通過單擊 File > Settings 開啟設定視窗。
- 2.導航到Appearance & Behavior > Appearance。
- 3.選擇使用Use custom font。
- 4.增加字型大小。
- 5.在Settings視窗中,導航至 Editor > Font。
- 6.增加字型大小。
- 7.單擊確定。