Android Studio Flamingo | 2022.2.1 (2023 年 4 月)

以下是 Android Studio Flamingo 的新功能。

修補程式版本

以下是 Android Studio Flamingo 中的修補程式版本清單。

Android Studio Flamingo | 2022.2.1 修補程式 2 (2023 年 5 月)

這個次要更新版本修正了這裡所列的錯誤。

Android Studio Flamingo | 2022.2.1 修補程式 1 (2023 年 5 月)

這個次要更新版本修正了這些 Android Gradle 外掛程式錯誤

主題化應用程式圖示和動態色彩

我們在 Material 3 和 Android 13 中分別推出動態色彩主題化應用程式圖示,因此您現在可以建立色調沿用使用者所選桌布顏色的版面配置或啟動器圖示。自 Android Studio Flamingo Beta 1 起,您就可以使用這項功能。

主題化應用程式圖示的預覽支援

對於 launcher.xml 檔案,您現在可以透過工具列上全新的「System UI Mode」選取器切換桌布,並查看主題化應用程式圖示會如何回應不同使用者選擇的桌布。

「System UI Mode」選取器。


在不同的桌布上預覽主題化應用程式圖示。

動態色彩預覽

Compose 預覽:我們已在可組合項預覽註解中新增屬性 wallpaper。如果您已在應用程式中啟用動態色彩,即可透過這個新屬性切換桌布,並查看 UI 會如何回應不同使用者選擇的桌布。如要使用這項功能,您必須使用 Compose 1.4.0-alpha03 以上版本。

Compose 預覽畫面中的動態色彩桌布。

Android XML:如果您已在應用程式中啟用動態色彩,現在可以在透過工具列上全新的「System UI Mode」選取器切換桌布,並查看版面配置會如何回應不同使用者選擇的桌布。請注意,您必須先選擇將主題變更為 Material 動態色彩主題,然後再變更桌布。

版面配置編輯器中的動態色彩桌布。

即時編輯功能更新

「即時編輯」現在有手動和自動兩種模式。在手動模式中,每當您使用 Ctrl + S (macOS 上為 Command + S) 手動儲存程式碼變更,系統就會套用這些變更;在自動模式中,當您更新可組合函式,相關變更就會馬上套用到您的裝置或模擬器中。如要選擇想要用來執行即時編輯功能的模式,請從選單列依序前往「File」 >「Settings」 (如果使用 macOS,則依序前往「Android Studio」 >「Preferences」),依序點選「Editor」 >「Live Edit」,然後勾選「Push Edits Manual Edit」或「Push Auto Edits」方塊。

Compose 追蹤

系統追蹤公用程式是一種 Android 工具,可將裝置活動儲存至追蹤檔,方便您全盤掌握應用程式系統在特定期間內的處理程序。自 Android Studio Flamingo 起,您只要使用 Compose Tracing,即可在系統追蹤分析器中查看 Compose 函式。Compose Tracing,可以兼顧系統追蹤的低度幹擾,以及組合內方法追蹤層級的詳細資料,有助您瞭解哪些 Compose 函式確實正在重組。

Compose Tracing 的 UI 預覽

如要開始使用重組追蹤功能,您至少需更新到下列版本:

  • Android Studio Flamingo Canary 5
  • Compose UI: 1.3.0-beta01
  • Compose Compiler: 1.3.0
  • 執行追蹤的裝置或模擬器必須至少為 API 級別 30。

此外,您需要在 Compose Runtime Tracing 中新增下列依附元件:

implementation("androidx.compose.runtime:runtime-tracing:1.0.0-alpha01")

如要查看重組追蹤功能,請開啟 Android Studio Profiler 並選取 CPU 分析器。操作應用程式前往要追蹤的 UI,然後依次選取「System Trace」和「Record」。錄製時,請使用應用程式引起重組。當您停止記錄和追蹤程序後,可以直接在「Threads」時間軸的重組追蹤記錄中查看 Compose 函式。您也可以透過「Analysis」窗格中的「Flame Chart」、「Top Down」、「Bottom Up」和「Events」分頁查看 Compose 函式。

這是仍在開發中的實驗性功能,歡迎您提供意見。詳情請參閱「Compose Tracing」。

專案範本更新

Android Studio Flamingo Canary 6 內含用來建立專案或模組的新範本。根據預設,除非將範本指定為 View 範本,否則範本會採用 Compose Material 3 格式。建議您使用 Compose Material 3 範本 (例如「Empty Activity」),這是建立 Android 應用程式的最佳做法。詳情請參閱 Compose Material 3 參考資料

如要查看範本,從主選單中依序選取「File」 >「New」 >「New Project」或「New Module」,開啟「New Project」或「Create New Module」精靈。

「New Project」精靈

裝置鏡像功能

將裝置的畫面直接串流至 Android Studio,盡量減少開發時的服務中斷次數。裝置鏡像功能可讓您在 Studio 的「Running Devices」視窗中與實體裝置互動。如要啟用這項功能,請依序前往「File」>「Settings」>「Tools」>「Device Mirroring」,並勾選「Enable mirroring of entity Android devices」旁邊的方塊。功能啟用之後,請連接裝置,然後部署應用程式或開啟「Running Devices」視窗,開始串流裝置的畫面並透過 IDE 與其互動。

首先,請確認您已連結到裝置。所有已連結的裝置都會以鏡像形式顯示在「Running Devices」視窗的分頁中。如要開啟這個視窗,請依序前往「View」>「Tool Windows」>「Running Devices」。將應用程式或測試部署到已連結的裝置時,系統會自動顯示「Running Devices」視窗,並顯示鏡像裝置。

「Running Devices」使用者介面

隱私權聲明

啟用裝置鏡像功能後,Android Studio 會自動為所有已連結及已配對的裝置啟動裝置鏡像。這可能會導致使用 adb tcpip 指令連線的裝置資訊外洩,因為鏡像資訊和指令是通過未加密管道傳遞。此外,Android Studio 也會使用非加密管道與 ADB 伺服器通訊,因此主體機器上的其他使用者可能會攔截鏡射資訊。

網路檢查器流量攔截

自 Android Studio Flamingo Canary 1 起,網路檢查器預設會顯示完整時間軸的所有流量資料。您可以選取時間軸中的某段範圍,單獨查看該範圍內的流量。

您也可以建立及管理規則,以便在遇到不同的回應 (例如狀態碼、回應標頭和主體) 時,測試應用程式的行為。規則會決定要攔截哪些回應,以及如何在這些回應觸及應用程式前修改回應。您可以勾選各規則旁邊的「Active」方塊,選擇要啟用或停用的規則。每當您修改規則時,系統都會自動儲存規則。

網路檢查器的「Rules」和「Rule Details」窗格

如要開始操作,請前往網路檢查器的「Rules」分頁,然後按一下「+」建立新規則。在「Rule Details」面板中為新規則命名,然後在「Origin」子區段下方加入您要攔截的回應來源資訊。「Rules」表格中的網址應根據您對回應來源所做的變更進行更新。這個子區段中的所有欄位均為選填。

「Rules」區段中的「Origin」子區段

在「Response」子區段中,您可以在回應送達應用程式前修改回應。舉例來說,您可以設定要對含有特定狀態碼的回應執行哪項規則,並修改該狀態碼。

「Rules」區段中的「Response」子區段

修改標頭

在「Header rules」子區段中,您可以建立多個可在回應中新增或修改標頭的子規則。當您建立多個標頭規則時,請使用「Rules」表格頂端的向上和向下箭頭 變更標頭規則的順序。如已修改回應,這個順序會對回應的標頭造成影響,因為標頭規則會按照所列順序套用。

如要開始操作,請按一下「Header rules」區段中的「+」

如要新增標頭,請在「Add new header」區段中輸入標頭的名稱和值。

「Add a new header」分頁

如要修改標頭,請前往「Edit existing header」分頁指定您要尋找的標頭名稱或值,然後輸入要替換的標頭名稱或值。

「Edit existing header」分頁

修改回應主體

您也可以建立子規則來修改回應主體。您可以選擇尋找並取代主體的一部分,這樣即可取代主體中的第一個例項;或者,您也可以選取「Replace entire body」,這樣即可取代主體的整個內容。

標頭規則類似,您可以建立多個主體規則,由系統按照表格所列順序套用。

在版面配置檢查器中自動連線至前景程序

版面配置檢查器現在會自動連線至虛擬或實體裝置上的應用程式。具體來說,如有可進行偵錯的程序在已連線裝置的前景執行,版面配置檢查器會自動連線至這些程序。如果您對這項功能有任何意見,請回報錯誤

應用程式品質深入分析更新

Android Studio Flamingo Canary 5 以上版本推出了多項新的「應用程式品質深入分析」功能,可協助您專心處理高優先順序的問題,並與開發團隊協同合作。

已開啟裝置篩選器的「App Quality Insights」視窗。

為協助您找出最重要的問題,您現在可以依下列屬性進行篩選。每個篩選器都會根據事件數量排序,方便您查看大多數事件發生的位置。

  • Android 平台版本
  • 裝置品牌與型號
  • Crashlytics 信號:在「Issues」面板中,相關問題旁邊還會顯示「信號」圖示,方便您並排查看數量資訊和信號。如果問題過去曾經關閉,但在新版應用程式中再度出現,我們就會將其視為「迴歸」問題。

    Crashlytics 信號篩選器。

  • 應用程式版本:這個篩選器現在加入了更高層級的 Play 測試群組篩選條件,可用於在正式版、公開、封閉和/或內部測試群組中自動選取版本。

此外,現在您可以搜尋含有許多選項的篩選器,以便快速自訂檢視畫面,無需捲動瀏覽所有選單選項。

直接從 Android Studio 加註並關閉問題

為方便您與團隊成員協同合作,您現在可以直接在「App Quality Insights」工具視窗中執行下列操作:

  • 關閉問題。如要關閉問題,請按一下主要堆疊追蹤面板中的「Close」按鈕。「Issues」面板中會顯示最近關閉的問題,並在上面劃上刪除線。如要重新開啟最近關閉的問題,請再次點選該按鈕。不過,一旦您重新整理「App Quality Insights」工具視窗後,就無法再查看已關閉的問題。

  • 閱讀並附加問題附註,以便團隊成員能在 Firebase 控制台中看到相關資訊。如要針對某個問題撰寫附註,請選取問題並開啟「Notes」面板。您必須具備 Crashlytics 專案的寫入權限,才能撰寫附註。在「Issues」面板中,有附註的問題會顯示「notes」圖示

如果您剛開始使用應用程式品質深入分析,想要瞭解更多資訊,請參閱先前的版本資訊

離線時透過受限功能進行調查

自 Android Studio Flamingo Canary 8 起,即使處於離線狀態,您也可以在「App Quality Insights」視窗中執行某些操作。如果您建立新要求 (例如按一下「Refresh」),但 Android Studio 無法與 Crashlytics 通訊,不妨透過「App Quality Insights」視窗進入離線模式

應用程式品質深入分析提供離線模式。

在這個模式下,您可以繼續調查快取資料中的問題和最新事件。不過,該模式不支援部分功能,舉例來說,您將無法變更某些篩選器選項或關閉問題。如要重試與 Crashlytics 連線並返回線上狀態,請按一下「Reconnect」

在離線模式下重新連結應用程式品質深入分析的選項。

按一下即可自動建構及執行可分析的應用程式

我們在 Android Studio Flamingo 和 AGP 7.3 中推出了單鍵自動化功能,可讓您輕鬆設定可分析的應用程式並進行剖析。這項功能需要使用搭載 API 級別 29 以上版本的虛擬或實體測試裝置。如要使用這項功能,請按一下「Profile app」圖示 旁邊的箭頭,然後在以下兩個選項間選擇:

只要按一下滑鼠,就能開啟可分析的建構選單。

  • 點選「Profile 'app' with low height」會啟動 CPU 和記憶體分析器。在記憶體分析器中,只有「Record Native Allocations」處於已啟用狀態。

    以低附載的方式分析。
  • 點選「Profile 'app' with complete data」,系統會啟動 CPU、記憶體和能源分析器。

    使用完整資料進行分析。

如要進一步瞭解如何在測試應用程式時盡可能節省效能成本,請參閱「可分析的應用程式」。

SDK 擴充功能的 Lint 支援

Android Studio Flamingo 針對 SDK 擴充功能提供 Lint 相關支援。這項功能可讓您更新 Lint 工具的 API 檢查作業,以便在 API 向後移植時正確強制執行 API 存取權,並用於 Android Privacy Sandbox 這類新的 API 介面。

Lint 工具的 API 檢查功能可確保程式碼僅使用受 minSdkVersionSDK_INT 檢查保護的可用 API。SDK 擴充功能可讓 API 分處多個 SDK 中。舉例來說,Android U 中導入的 API 也可以新增至 Android R、S 和 T 的向後移植擴充功能中。此外,應用程式還可以利用資訊清單指定多個必要的 API,我們也提供能檢查個別擴充功能是否可用的新 API。因此,Lint 工具現在會處理邏輯,檢查要顯示所需內容和目前內容中的哪些重疊項目。

最後,我們還提供與 API 檢查相關聯的 Studio IDE 功能。這項功能現在可以處理新 API 介面的 API 違規事項、執行必要檢查,以及登錄快速修正項目 (每個可用的 API 介面一個)。

IntelliJ IDEA 2022.2 平台更新

Android Studio Flamingo Canary 1 包含 IntelliJ IDEA 2022.2 更新,可改善 IDE 使用體驗。如要進一步瞭解相關異動,請參閱 IntelliJ IDEA 2022.2 版本資訊

隨附 JDK 17 的 Android Studio

自 Android Studio Flamingo Canary 3 起,Studio IDE 會隨 JDK 17 一併提供。如果 Android Studio 已設為使用嵌入的 JDK,新專案將使用最新穩定版的 Android Gradle 外掛程式和 JDK 17。不過,現有專案可能會中斷,而您可能需要手動將 JDK 設為相容的版本。

詳情請參閱「設定 JDK 版本」。