Android Studio 4.1 版 (2020 年 8 月)

Android Studio 4.1 版是主要版本,其中包含多項新功能和強化項目。

4.1.3 版 (2021 年 3 月)

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

4.1.2 版 (2021 年 1 月)

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2021/01/android-studio-412-available.html">
    Release Updates blog</a>.
</p>
<p><b>4.1.1 (November 2020)</b></p>

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2020/11/android-studio-411-available.html">
    Release Updates blog</a>.
</p>

新的資料庫檢查器

透過新的資料庫檢查器,您可以檢查、查詢及修改執行中應用程式內的資料庫。如要開始使用,請將應用程式部署至搭載 API 級別 26 以上的裝置,然後在選單列中依序選取「View」>「Tool Windows」>「Database Inspector」

詳情請參閱「使用資料庫檢查器對資料庫偵錯」。

直接在 Android Studio 中執行 Android Emulator

您現在可以直接在 Android Studio 中執行 Android Emulator。這項功能可讓您節省螢幕空間、使用快捷鍵在模擬器和編輯器視窗之間快速瀏覽,以及將 IDE 和模擬器工作流程彙整到單一應用程式視窗。

模擬器在 Android Studio 的工具視窗中啟動。

詳情請參閱 Android Emulator 說明文件

使用 TensorFlow Lite 模型

您可以透過機器學習模型繫結功能,直接輕鬆匯入 .tflite 模型檔案並在專案中使用。Android Studio 會產生易用的類別,讓您在更加確保類型安全的情況下,以較少的程式碼執行模型。

支援的模型

目前的機器學習模型繫結功能支援圖片分類和風格轉換模型 (前提是必須透過中繼資料強化這類模型),未來也將擴大對物件偵測、影像分割和文字分類等其他問題領域提供支援。

TensorFlow Hub 提供多種包含中繼資料的預先訓練模型。您也可以自行為 TensorFlow Lite 模型新增中繼資料,詳情請參閱「為 TensorFlow Lite 模型新增中繼資料」。

匯入模型檔案

如要匯入支援的模型檔案,請按照下列步驟操作:

  1. 依序點選「File」選單中的「File」>「New」>「Other」>「TensorFlow Lite Model」,開啟 TensorFlow Lite 模型匯入對話方塊。
  2. 選取先前下載或建立的 .tflite 模型檔案。
  3. 按一下「Finish」

這樣做會將模型檔案匯入專案並放到 ml/ 資料夾中。如果該目錄不存在,Android Studio 會建立目錄。

匯入 TensorFlow Lite 模型

查看模型中繼資料和使用方式

如要查看已匯入模型的詳細資料,並瞭解如何在應用程式中使用模型,請在專案中的模型檔案上按兩下,等模型檢視器頁面開啟後,當中會顯示以下內容:

  • 模型:模型的概要說明
  • 張量:輸入和輸出張量的說明
  • 程式碼範例:說明如何在應用程式中與模型進行互動的範例

以下是使用 mobilenet_v1_0.25_160_quantized.tflite 的範例:

如範例所示,Android Studio 會建立一個名為 MobilenetV1025160Quantized 的類別,用於與模型互動。

如果模型沒有中繼資料,這個畫面就只會提供少量資訊。

已知問題和解決方法

  • 除了圖片分類和風格轉換以外,目前針對 TensorFlow Lite 模型問題領域的支援仍有限。雖然匯入功能應可正常運作,但部分模型輸入和/或輸出內容會以 TensorBuffers 表示,而非常用類型。如果模型沒有中繼資料,所有模型輸入和輸出內容都將以 TensorBuffers 表示。
  • 如果模型的輸入和輸出資料類型與 DataType.UINT8DataType.FLOAT32 不同,系統將不支援。

這項功能仍在開發階段,因此請不吝提供意見或回報錯誤

原生記憶體分析器

Android Studio 記憶體分析器現在提供原生記憶體分析器,適用於部署至搭載 Android 10 以上版本實體裝置的應用程式。透過原生記憶體分析器,您可以記錄原生程式碼的記憶體配置和取消配置情形,以及檢查原生物件的累計統計資料。

原生記憶體分析器中的記錄

如要進一步瞭解原生記憶體分析器,請參閱「使用記憶體分析器檢查應用程式的記憶體用量」。

已知問題和解決方法

Android Studio 4.1 版中的原生記憶體分析器不適用於 Android 11 裝置。目前必須使用 4.2 預覽版本才能分析 Android 11 裝置。

應用程式啟動分析功能已從初始的 4.1 版起停用。我們會在即將發布的版本中啟用這項選項。

為解決這個問題,您可以改用 Perfetto 獨立指令列分析器來擷取啟動分析。

系統追蹤 UI:更簡便的選取方式、全新分析分頁,以及更多影格轉譯資料

Android Studio 分析器中的系統追蹤 UI 包含以下強化項目:

  • 範圍式選取:在「Threads」部分中,您現在可以拖曳滑鼠來選取一個矩形區域。選取完畢後,只要按一下右上方的「Zoom to Selection」按鈕 分析器的「zoom to selection」按鈕 或使用 M 鍵盤快速鍵,即可放大這個區域。如果您將類似的執行緒拖曳至相鄰位置,還可選取多個執行緒,一次檢查所有選取項目。舉例來說,您可以在多個背景工作執行緒上執行分析。

  • 「Summary」分頁:「Analysis」面板中的新「Summary」分頁會顯示以下資訊:

    • 特定事件中所有出現記錄的匯總統計資料,例如出現次數和最短/最長持續時間。

    • 指定出現記錄的追蹤事件統計資料。

    • 執行緒狀態分布情形的相關資料。

    • 指定追蹤事件持續時間最長的出現記錄。

    如要查看其他出現記錄,請在資料表中選取其他資料列。

  • 顯示資料:在「Display」部分中,全新的 SurfaceFlingerVSYNC 時間軸可協助您調查應用程式 UI 的轉譯問題。

如需如何記錄系統追蹤的基本用法說明,請參閱「使用 CPU 分析器查看 CPU 活動」文章中的「錄製追蹤記錄」一節。

現在提供獨立分析器

透過全新的獨立分析器,您現在可以直接分析應用程式,不必執行完整的 Android Studio IDE。

如要瞭解如何使用獨立分析器,請參閱「執行獨立分析器」。

支援 Dagger 導覽功能

IDE 空白邊動作,用於瀏覽 Dagger 使用者和提供者

Android Studio 在「Find Usages」視窗提供了新的空白邊動作和更豐富的支援功能,讓您可以更輕鬆地瀏覽 Dagger 相關程式碼。

  • 新的空白邊動作:針對使用 Dagger 的專案,IDE 支援空白邊動作,協助您瀏覽以 Dagger 加註的程式碼。舉例來說,只要在使用特定類型的方法旁邊按一下 空白邊動作,即可瀏覽該類型的提供者。相反地,如果點選 空白邊動作,則可前往將類型用做依附元件的位置。

  • 「Find Usages」節點:當您針對特定類型的提供者叫用「Find Usages」時,「Find」視窗現在會包含列出該類型使用者的「Dependency consumer(s)」節點。相反地,如果針對插入 Dagger 依附元件的使用者叫用這項動作,「Find」視窗會顯示這個依附元件的提供者。

Material Design 元件:新專案範本提供新版主題和樣式

動畫:使用新的 Material Design 屬性在 Android Studio 中建立專案。

根據預設,「Create New Project」對話方塊中的 Android Studio 範本現在會使用 Material Design 元件 (MDC),並遵循新版的主題與樣式規範。更新內容包括:

  • MDC:專案依附於 build.gradle 中的 com.google.android.material:material。基本應用程式主題會使用 Theme.MaterialComponents.* 父項,並覆寫更新過的 MDC 顏色和「on」屬性。

  • 顏色資源colors.xml 中的顏色資源會使用常值名稱,例如 purple_500 而非 colorPrimary

  • 主題資源:主題資源位於 themes.xml (而非 styles.xml),並使用 Theme.<var><var> 名稱。

  • 深色主題:基本應用程式主題會使用 DayNight 父項,並分成 res/valuesres/values-night

  • 主題屬性:在版面配置和樣式中,系統會參照顏色資源做為主題屬性 (例如 ?attr/colorPrimary),避免以硬式編碼方式指定顏色。

IntelliJ IDEA 2020.1 版

核心 Android Studio IDE 更新後,可提供 IntelliJ IDEA 2020.1 版的強化項目,包括可用於版本管控作業的新「Commit」視窗,以及新的 Zen 模式,該模式的開啟/關閉方式為依序選取「View」>「Appearance」>「Enter Distraction Free Mode」

如要進一步瞭解 2020.1 版的強化項目,請參閱 IDEA 2020.1 相關文章。

IDE 設定目錄變更

使用者設定目錄已變更至以下位置:

Windows

語法:%APPDATA%\Google&lt;product><version>

範例:C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

macOS

語法:~/Library/Application Support/Google/<product><version>

範例:~/Library/Application Support/Google/AndroidStudio4.1

Linux

語法:~/.config/Google/<product><version>

範例:~/.config/Google/AndroidStudio4.1

這些新的目錄位置與 IntelliJ IDEA 的近期更新一致,後者是 Android Studio 所採用的 IDE。

如果 Studio 在升級後無法重新啟動,您可能需要刪除舊版 Studio 的設定目錄。詳情請參閱已知問題頁面。

Kotlin 1.3.72 版

Android Studio 4.1 版隨附的 Kotlin 1.3.72 版修正了多項錯誤,改善 Kotlin 的醒目顯示、檢查和程式碼完成功能。詳情請參閱 Kotlin 1.3.72 版變更記錄

自訂檢視區塊預覽

建立自訂檢視區塊 (例如擴充 ViewButton 類別) 時,Android Studio 現在會顯示自訂檢視區塊的預覽畫面。您可以使用工具列中的下拉式選單切換不同的自訂檢視區塊,也可以點選按鈕,根據內容調整垂直或水平方向的大小。

在 IDE 中預覽自訂檢視區塊。

注意:如果預覽畫面沒有顯示變更,請在選單列中依序選取「Build」>「Make Project」

原生當機報告符號化

如果原生程式碼停止運作或發生 ANR 情形,系統會產生堆疊追蹤,這是一種快照,當中包含程式截至停止運作時所呼叫的一系列巢狀函式。這類快照可協助您找出及修正原始碼中的所有問題,但必須先經過符號化,才能將機器位址轉譯回人類可讀的函式名稱。

如果您是以 C++ 等原生程式碼開發應用程式或遊戲,現在可以將每個應用程式版本的偵錯符號檔案上傳到 Play 管理中心。Play 管理中心會使用這些偵錯符號檔案,將應用程式的堆疊追蹤符號化,方便您分析停止運作和 ANR 事件。如想瞭解如何上傳偵錯符號檔案,請參閱原生程式碼錯誤支援功能

套用變更

為協助您提升執行應用程式疊代作業的工作效率,我們針對搭載 Android 11 開發人員預覽版 3 以上版本裝置的「套用變更」功能做了以下強化措施:

加快部署速度

我們投入了大量心力,開發出無須安裝應用程式即可在裝置上部署及保留變更的方法,協助您在最大程度上加快疊代速度。現在,完成初始部署作業後,您可以點選「Apply Code Changes」圖示 「Apply Code Changes」圖示 或「Apply Changes and Restart Activity」圖示 「Apply Changes and Restart Activity」圖示,以大幅提升的速度對 Android 11 裝置進行後續部署。

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

支援其他程式碼變更

針對搭載 Android 11 開發人員預覽版 3 以上版本的裝置,您現在可以新增方法,然後按一下「Apply Code Changes」圖示 「Apply Code Changes」圖示 或「Apply Changes and Restart Activity」圖示 「Apply Changes and Restart Activity」圖示,將相應變更內容部署到執行中的應用程式。