Android Studio 3.6 版 (2020 年 2 月)

Android Studio 3.6 版是主要版本,內含多項新功能和改善項目。

在此也感謝所有曾為這個版本付出心力的社群貢獻者

3.6.3 版 (2020 年 4 月)

這個次要更新版本修正了多項錯誤。如要查看重要錯誤修正清單,請參閱版本更新網誌上的相關文章。

3.6.2 版 (2020 年 3 月)

這個次要更新版本修正了多項錯誤。如要查看重要錯誤修正清單,請參閱版本更新網誌上的相關文章。

3.6.1 版 (2020 年 2 月)

這個次要更新版本修正了多項錯誤。如要查看重要錯誤修正清單,請參閱版本更新網誌上的相關文章。

設計工具

這個版本的 Android Studio 提供幾項設計工具更新,包括版面配置編輯器和資源管理工具。

分割檢視畫面和放大設計編輯器

分割檢視畫面同時顯示設計和文字檢視區塊

這個版本對視覺設計編輯器進行了以下幾點更新:

  • 設計編輯器 (例如版面配置編輯器和 Navigation 編輯器) 現在提供「Split」檢視畫面,可讓您同時查看 UI 的「Design」和「Code」檢視區塊。在編輯器視窗的右上角,現在有三個用來切換檢視選項的按鈕 查看圖示

    • 如要啟用分割檢視畫面,請按一下「Split」圖示 分割檢視圖示
    • 如要啟用 XML 來源檢視畫面,請按一下「Source」圖示 來源檢視圖示
    • 如要啟用設計檢視畫面,請按一下「Design」圖示 設計檢視畫面圖示
  • 設計編輯器中的縮放及平移控制項已移至編輯器視窗右下角的浮動式面板。

詳情請參閱「使用版面配置編輯器打造 UI」一文。

顏色挑選器資源分頁

當您在 XML 或設計工具中使用顏色挑選器時,IDE 現在會為您填入顏色資源值,協助您快速更新應用程式的顏色值。

填入顏色值的顏色挑選器

Resource Manager

Resource Manager 包含下列更新內容:

  • Resource Manager 現在支援大多數的資源類型。
  • 現在 Resource Manager 會在搜尋資源時,顯示來自所有專案模組的結果。在先前版本中,搜尋只會傳回來自所選模組的結果。
  • 篩選器按鈕可讓您查看本機相依模組、外部程式庫和 Android 架構的資源。您也可以使用篩選器顯示主題屬性。
  • 您可以在匯入過程中重新命名資源:只要點選資源上方的文字方塊即可操作。

詳情請參閱「使用 Resource Manager 管理應用程式的 UI 資源」一文。

Android Gradle 外掛程式更新項目

最新版本的 Android Gradle 外掛程式包含許多更新項目,包括建構速度的最佳化功能,以及 Maven 發布外掛程式和檢視區塊繫結的支援機制。詳情請參閱完整版本資訊

檢視區塊繫結

檢視區塊繫結可為每個 XML 版面配置檔案產生繫結類別,讓您更輕鬆地編寫與檢視區塊互動的程式碼。這些類別包含所有檢視區塊 (在對應的版面配置中有 ID 的檢視區塊) 的直接參照內容。

由於檢視區塊繫結會取代 findViewById(),因此可避免無效檢視區塊 ID 造成空值指標例外狀況。

如要啟用檢視區塊繫結,您必須使用 Android Gradle 外掛程式 3.6.0 以上版本,並在每個模組的 build.gradle 檔案中加入以下內容:

Groovy

  android {
      buildFeatures.viewBinding = true
  }
  

Kotlin

  android {
      buildFeatures.viewBinding = true
  }
  

套用變更

您現在可以在新增類別後,按一下「Apply Code Changes」或「Apply Changes and Restart Activity」,將變更的程式碼部署至執行中的應用程式。

如要進一步瞭解這兩項操作的差異,請參閱「套用變更」。

用於啟用免安裝應用程式支援功能的重構選單選項

建立應用程式專案後,您現在隨時可以為基本模組啟用免安裝即用功能,方法如下:

  1. 從選單列中依序選取「View」>「Tool Windows」>「Project」,開啟「Project」面板。
  2. 在基本模組 (名稱通常為「app」) 上按一下滑鼠右鍵,然後依序選取「Refactor」>「Enable Instant Apps Support」
  3. 在隨即顯示的對話方塊中,從下拉式選單中選取基本模組。
  4. 按一下「OK」

注意:透過「Create New Project」精靈為應用程式基本模組啟用免安裝即用功能的選項已移除。

詳情請參閱「Google Play 免安裝技術總覽」一文。

在 APK 分析工具中將類別和方法位元碼去模糊化

使用 APK 分析工具檢查 DEX 檔案時,您可以按照以下步驟將類別和方法位元碼去模糊化:

  1. 在選單列中,依序選取「Build」>「Analyze APK」
  2. 在畫面上出現的對話方塊中,找出並選取要檢查的 APK。
  3. 按一下「Open」。
  4. 在 APK 分析工具中,選取要檢查的 DEX 檔案。
  5. 在 DEX 檔案檢視器中,為要分析的 APK 載入 ProGuard 對應檔
  6. 在要檢查的類別或方法上按一下滑鼠右鍵,然後選取「Show bytecode」

原生工具

下列更新支援 Android Studio 中的原生 (C/C++) 開發作業。

支援 Kotlin

下列 Android Studio 的 NDK 功能原先是透過 Java 提供支援,現在也可透過 Kotlin 使用:

  • 從 JNI 宣告項目前往 C/C++ 中的對應實作函式。如要查看這項對應,請在受管理的原始碼檔案中,將滑鼠游標懸停在行數附近的 C 或 C++ 項目標記上。

  • 自動建立 JNI 宣告項目的虛設常式實作函式。請先定義 JNI 宣告項目,然後在 C/C++ 檔案中輸入「jni」或方法名稱來啟用這項功能。

  • 系統會在原始碼中,將未使用的原生實作函式醒目顯示為警告。缺少實作的 JNI 宣告項目也會醒目顯示為錯誤。

  • 當您重新命名 (重構) 原生實作函式時,系統會更新所有對應的 JNI 宣告項目。您可以重新命名 JNI 宣告項目,藉此更新原生實作函式。

  • 檢查隱式繫結 JNI 實作的簽章。

其他 JNI 改善項目

您現在可以在 Android Studio 的程式碼編輯器中享有更流暢的 JNI 開發工作流程,包括使用更完善的類型提示、自動完成、檢查和程式碼重構功能。

適用於原生資料庫的 APK 重新載入功能 {:#3.6-reload-apk}

當專案中的 APK 在 IDE 外部更新時,您不再需要建立新專案。Android Studio 會偵測 APK 中的變更,並提供重新匯入的選項。

附加僅以 Kotlin 編寫的 APK 來源

現在當您分析預先建構的 APK 並進行偵錯時,可以附加僅以 Kotlin 編寫的外部 APK 來源。詳情請參閱「附加 Kotlin/Java 來源」。

記憶體分析器中的記憶體流失偵測功能

在記憶體分析器中分析記憶體快照資料時,現在可篩選 Android Studio 認為可能代表應用程式中的 ActivityFragment 執行個體導致記憶體流失的分析資料。

這項篩選條件會顯示的資料類型包括:

  • 已遭刪除但仍受參照的 Activity 執行個體。
  • 不含有效 FragmentManager 但仍受參照的 Fragment 執行個體。

附加僅以 Kotlin 編寫的 APK 來源

現在當您分析預先建構的 APK 並進行偵錯時,可以附加僅以 Kotlin 編寫的外部 APK 來源。詳情請參閱「附加 Kotlin/Java 來源」。

記憶體分析器中的記憶體流失偵測功能

在記憶體分析器中分析記憶體快照資料時,現在可篩選 Android Studio 認為可能代表應用程式中的 ActivityFragment 執行個體導致記憶體流失的分析資料。

這項篩選條件會顯示的資料類型包括:

  • 已遭刪除但仍受參照的 Activity 執行個體。
  • 不含有效 FragmentManager 但仍受參照的 Fragment 執行個體。

在某些情況下,這項篩選條件可能會產生誤判結果,例如下列情況:

  • Fragment 已建立但尚未使用。
  • Fragment 已快取,但不屬於 FragmentTransaction

如要使用這項功能,請先擷取記憶體快照資料,或將記憶體快照資料檔案匯入至 Android Studio。如要顯示可能導致記憶體流失的片段和活動,請在記憶體分析器的記憶體快照資料窗格中,勾選「Activity/Fragment Leaks」核取方塊。

分析器:記憶體流失情形偵測功能

篩選記憶體快照資料,掌握記憶體流失情形。

Android Emulator

Android Studio 3.6 版可協助您利用 Android Emulator 29.2.7 以上版本中的多項更新內容,詳情請見下方說明。

改善位置支援功能

Android Emulator 29.2.7 以上版本針對 GPS 座標和路徑資訊模擬功能提供額外支援。開啟 Android Emulator 的「Extended controls」時,「Location」分頁中的選項現在會分別列在「Single points」和「Routes」分頁中。

Single points

您可以在「Single points」分頁中使用 Google 地圖 WebView 尋找搜尋點,就像透過手機或瀏覽器使用 Google 地圖一樣。在地圖中搜尋或點選某個地點後,只要選取靠近地圖底部的「Save point」即可儲存該地點。所有已儲存的地點都會列在「Extended Controls」視窗的右側。

如要將 Android Emulator 的位置設為您在地圖上選取的地點,請按一下「Extended controls」視窗右下方附近的「Set location」按鈕。

Android Emulator「Extended controls」中的「Single points」分頁。

Routes

與「Single points」分頁類似,「Routes」分頁會提供 Google 地圖 WebView,可用來在兩個以上的地點之間建立路線。如要建立並儲存路線,請按照下列步驟操作:

  1. 在地圖檢視中,使用文字欄位搜尋路線中的第一個目的地。
  2. 在搜尋結果中選取該地點。
  3. 選取「Navigate」按鈕。
  4. 在地圖上選取路線的起點。
  5. (選用) 點選「Add destination」,在路線中加入其他停靠站。
  6. 在地圖檢視中按一下「Save route」即可儲存路線。
  7. 指定路線名稱,然後按一下「Save」

如要讓 Android Emulator 模擬您儲存的路線,請從「Saved routes」清單中選取這個路線,然後按一下靠近「Extended controls」視窗右下方的「Play route」。如要停止模擬,請按一下「Stop route」

Android Emulator「Extended controls」中的「Routes」分頁。

如要讓 Android Emulator 持續模擬指定路線,請將「Repeat playback」旁的切換按鈕設為開啟。如要變更 Android Emulator 模擬指定路線的速度,請從「Playback speed」下拉式選單中選取所需選項。

多螢幕支援功能

Android Emulator 現在可讓您將應用程式部署到多個螢幕。這項功能支援可自訂螢幕大小,並協助您測試支援多視窗模式多螢幕的應用程式。在虛擬裝置運作時,您最多可以新增兩個額外的螢幕,步驟如下:

  1. 開啟「Extended controls」並前往「Displays」分頁。

  2. 按一下「Add secondary display」即可新增其他螢幕。

  3. 在「Secondary displays」下方的下拉式選單中,執行下列其中一項操作:

  4. 選取其中一個預設顯示比例

  5. 選取「custom」,然後設定自訂螢幕的「height」、「width」和「dpi」

  6. (選用) 按一下「Add secondary display」即可新增第三個螢幕。

  7. 按一下「Apply changes」,將指定螢幕新增至執行中的虛擬裝置。

在 Android Emulator「Extended Controls」的「Display」分頁中新增多個螢幕。

適用於 Android Automotive OS 的全新虛擬裝置和專案範本

現在使用 Android Studio 建立新專案時,可以在「Create New Project」精靈的「Automotive」分頁中選擇下列任一範本:「No Activity」、「Media service」和「Messaging service」。如要讓現有專案支援 Android Automotive 裝置,請在選單列中依序選取「File」>「New」>「New Module」,然後選取「Automotive Module」。接著,「Create New Module」精靈會引導您使用其中一個 Android Automotive 專案範本建立新模組。

選取 Android Automotive 專案範本。

此外,您現在可以為 Android Automotive OS 裝置建立 Android 虛擬裝置 (AVD),方法是在「Virtual Device Configuration」精靈的「Automotive」分頁中選取下列其中一個選項:

  1. Polestar 2:建立可模擬 Polestar 2 車用運算主機的 AVD。
  2. Automotive (1024p landscape):針對一般 1024 x 768 px 的 Android Automotive 車用運算主機建立 AVD。

選取 Android Automotive 虛擬裝置。

支援續傳的 SDK 下載作業

現在使用 SDK Manager 下載 SDK 元件和工具時,如果因故中斷下載 (例如網路不通),Android Studio 可讓您從中斷處接續下載,無需從頭開始。如果是在網路連線不穩定時下載大型檔案 (例如 Android Emulator 或系統映像檔),這項強化功能特別實用。

此外,如果有在背景執行的 SDK 下載工作,您現在可以使用狀態列中的控制項暫停或繼續下載作業。

狀態列顯示背景下載工作,並提供新的控制項讓您暫停或繼續下載作業。

狀態列顯示背景下載工作,並提供新的控制項讓您暫停或繼續下載作業。

Win32 已淘汰

我們已於 2019 年 12 月後停止更新 Windows 32 位元版本的 Android Studio,並自 2020 年 12 月起停止提供支援。您可以繼續使用 Android Studio。不過,如要取得更新項目,您必須將工作站升級至 Windows 64 位元版本。

詳情請參閱 Windows 32 位元版淘汰項目網誌

用於最佳化 Gradle 同步處理時間的全新選項

過往的 Android Studio 版本會在 Gradle 同步處理期間擷取完整的 Gradle 工作清單。如果是大型專案,這項工作清單擷取作業可能會導致同步處理速度變慢。

如要提升 Gradle 同步處理作業的效能,請依序前往「File」>「Settings」>「Experimental」,然後選取「Do not build Gradle task list during Gradle sync」。

啟用這個選項後,Android Studio 就不會在同步處理期間建構工作清單,讓 Gradle 同步處理作業能更快完成,進而提升 UI 回應速度。請注意,如果 IDE 略過工作清單建構程序,Gradle 面板中的工作清單會顯示空白,且建構檔案中的工作名稱自動完成功能也無法運作。

新的 Gradle 離線模式切換位置

如要啟用或停用 Gradle 離線模式,請先在選單列中依序選取「View」>「Tool Windows」>「Gradle」,接著在「Gradle」視窗頂端附近,按一下「Toggle Offline Mode」圖示 Gradle 面板中的 Gradle 離線模式按鈕。

IntelliJ IDEA 2019.2 版

核心 Android Studio IDE 已更新,可提供 IntelliJ IDEA 2019.2 版的改善項目。

如要進一步瞭解 2019.2 版包含的其他 IntelliJ 版本改善項目,請參閱以下頁面:

社群貢獻者

感謝曾協助我們找出錯誤和其他 Android Studio 3.6 版改善方式的所有社群貢獻者。我們尤其想感謝以下這些回報錯誤的貢獻者:

  • Albert Lo
  • Alexey Rott
  • Andrea Leganza
  • Benedikt Kolb
  • César Puerta
  • Curtis Kroetsch
  • Damian Wieczorek
  • Dan Lew
  • David Burström
  • Deepanshu
  • Egor Andreevici
  • Eli Graber
  • Emin Kokalari
  • Evan Tatarka
  • Frantisek Nagy
  • Greg Moens
  • Hannes Achleitner
  • Hans Petter Eide
  • Henning Bunk
  • Hugo Visser
  • Igor Escodro
  • Iñaki Villar
  • Javentira Lienata
  • Joe Rogers
  • Kristoffer Danielsson
  • Liran Barsisa
  • Louis CAD
  • Lóránt Pintér
  • Łukasz Wasylkowski
  • Luke Fielke
  • Malvin Sutanto
  • Masatoshi Kubode
  • Mathew Winters
  • Michael Bailey
  • Michał Górny
  • Mihai Neacsu
  • Mike Scamell
  • Monte Creasor
  • Nelson Osacky
  • Nelson Osacky
  • Nick Firmani
  • Nicklas Ansman Giertz
  • Niclas Kron
  • Nicolás Lichtmaier
  • Niek Haarman
  • Niels van Hove
  • Niklas Baudy
  • Renato Goncalves
  • Roar Grønmo
  • Ruslan Baratov
  • Sinan Kozak
  • Slawomir Czerwinski
  • Stefan Wolf
  • Stephen D'Amico
  • Tao Wang
  • Tomas Chladek
  • Tomáš Procházka
  • Tony Robalik
  • Torbjørn Sørli
  • Warren He
  • Yenchi Lin
  • Zac Sweers