Android Studio Arctic Fox 正式版發布,趕緊了解

android攻城獅獅獅 發佈 2022-07-05T14:47:48.463027+00:00

當你在 Android Studio 中打開一個應用程式項目並在 「Database Inspector 中檢查」 該項目的應用程式時,你可以通過以下方式之一開始導出數據:在 「Databases」 面板中選擇一個資料庫或表,然後單擊面板頂部附近的 「Export to file」 。

前幾天,Jetpack Compose 1.0發布,而Android Studio Arctic Fox 也迎來重大更新,發布正式版,對其中包含各種新功能和改進,其中主要有:「版本號規則變更,支持新的測試模式,更高級的調試跟蹤,更方便的導出資料庫,支持 Compose 等等」

Android gradle 插件 7.0.0

單元測試現在使用 Gradle 測試運行器

為了提高測試執行的整體一致性,Android Studio 現在默認使用 Gradle 運行所有單元測試,當然在一般情況下,此更改不會影響在 IDE 中的測試工作流。

例如,當單擊上下文菜單中的「Run」命令(在右鍵單擊某個測試類時可見)或其對應的 gutter action 時,Android Studio 將默認使用 Gradle 運行配置來運行單元測試。

但是 Android Studio 不再識別現有的 Android JUnit 運行配置,因此需要將項目文件的 Android JUnit 運行配置遷移到 Gradle 運行配置。

要創建 Gradle 測試配置,請按照創建新的運行/調試配置中的說明選擇 Gradle 模板,創建新配置後它將出現在 Gradle 部分的 「Edit Configurations」 對話框中:

如果要檢查不再被識別的 Android JUnit 配置,有以下兩種選擇:

  • 在文本編輯器中打開手動保存的配置,這些文件的位置由用戶指定,但文件通常出現在 <my-app>/.idea/runConfigurations/
  • <my-app>/.idea/workspace.xml臨時配置和在 <component name="RunManager" ...> 節點中查找, 例如:
<pre data-tool="mdnice編輯器" style="margin: 10px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: rgb(34, 34, 34); font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0.544px; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px; visibility: visible;">`<component name="RunManager" selected="Gradle.PlantTest">
…
<component name="RunManager" selected="Gradle.PlantTest">
…
<configuration name="PlantTest" type="AndroidJUnit" factoryName="Android JUnit" nameIsGenerated="true">
      <module name="Sunflower.app" />
      <useClassPathOnly />
      <extension name="coverage">
        <pattern>
          <option name="PATTERN" value="com.Google.samples.apps.sunflower.data.*" />
          <option name="ENABLED" value="true" />
        </pattern>
      </extension>
      <option name="PACKAGE_NAME" value="com.google.samples.apps.sunflower.data" />
      <option name="MAIN_CLASS_NAME" value="com.google.samples.apps.sunflower.data.PlantTest" />
      <option name="METHOD_NAME" value="" />
      <option name="TEST_OBJECT" value="class" />
      <option name="PARAMETERS" value="" />
      <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
      <method v="2">
        <option name="Android.Gradle.BeforeRunTask" enabled="true" />
      </method>
    </configuration>

新的後台任務檢查器

可以使用新的 「後台任務檢查器」 來可視化、監控和調試應用程式的後台「工作人員」

首先將應用程式部署到運行 WorkManager Library 2.5.0 或更高版本的設備,然後從菜單欄中選擇「View」 > 「Tool Windows」 > 「App Inspection」

你可以通過單擊 worker 查看更多詳細信息,例如可以看到 worker 的描述,它是如何執行的,它的 worker 鏈的細節,以及執行的結果。

你還可以通過從表中選擇一個 worker 並單擊工具欄中的 「Show Graph View」「查看」 worker 鏈的可視化,然後可以選擇鏈中的任何工作程序以查看其詳細信息,或者如果它當前正在排隊或正在運行,你也可以選擇停止它。

如果要返回表格,請單擊 「Show List View」 。

為了幫助調查執行失敗的工作線程問題,開發者可以通過從表中選擇並單擊工具欄中的 「Cancel Selected Worker」 線程來停止當前正在運行或排隊的工作線程,還可以使用 「All tags」 下拉菜單,通過標籤過濾來選擇表中的 workers。

從資料庫檢查器導出數據

現在開發者可以輕鬆地從 「Database Inspector」 導出資料庫、表和查詢結果,以在本地保存、共享或重新創建。

當你在 Android Studio 中打開一個應用程式項目並在 「Database Inspector 中檢查」 該項目的應用程式時,你可以通過以下方式之一開始導出數據:

  • 「Databases」 面板中選擇一個資料庫或表,然後單擊面板頂部附近的 「Export to File」
  • 右鍵單擊 「Databases」 面板中的資料庫或表,然後從上下文菜單中選擇 「Export to file」
  • 在選項卡中檢查表或查詢結果時,單擊表或查詢結果上方的 「Export to file」

選擇導出操作後,可以使用 「Export」 對話框來幫助完成最後的步驟,如下所示,你可以選擇以下列一種或多種格式導出數據:DB、SQL 或 CSV。

Updated UI for recording in Memory Profiler

我們為不同的記錄活動整合了 Memory Profiler 用戶界面 (UI),例如捕獲堆轉儲和記錄 Java、Kotlin 和本機內存分配。

該 Memory Profiler 提供了以下選項:

  • 「Capture heap dump」:查看應用程式中在特定時間點使用內存的對象。
  • 「Record native allocations」:查看每個 C/C++ 對象在一段時間內是如何分配的。
  • 「Record Java/Kotlin allocations」:查看每個 Java/Kotlin 對象在一段時間內是如何分配的。

以下是如何使用這三個選項:

  • 要捕獲堆轉儲,請選擇 「Capture heap dump」,然後選擇 「Record」 ,在分析器完成對堆轉儲的捕獲後,內存分析器 UI 將轉換到顯示堆轉儲的單獨頁面。
  • 要在運行 Android 10 及更高版本的設備上使用 「Record native allocations」,請選擇 「Record native allocations」 ,然後選擇 「Record」 ,而後記錄將保持到單擊 「Stop」 為止,之後 Memory Profiler UI 將轉換為顯示 native 記錄的單獨頁面。

在 Android 9 及更低版本上,「Record native allocations」 選項不可用。

  • 要記錄 Java 和 Kotlin 分配,請選擇 「Record Java / Kotlin allocations」,然後選擇 「Record」。如果設備運行的是 Android 8 或更高版本,Memory Profiler UI 將轉換為顯示正在進行的記錄的單獨頁面,開發者可以與記錄上方的迷你時間線進行交互(例如,更改選擇範圍),而如果要完成錄製,可以選擇 「Stop」

在 Android 7.1 及更低版本上,內存分析器使用傳統分配記錄,它會在時間線上顯示記錄,直到單擊 「Stop」

更新連結的 C++ 項目

新版本已將與配置無關的 .cxx/ 文件從文件夾移動到 build/ 文件夾中。

CMake C++ 構建需要一個在配置階段用於執行編譯和連結步驟的 Ninja 項目,通過 CMake 生成的項目成本比較高,所以有望在 gradle clean 中不被清理。

因此,它們存儲在文件夾.cxx/ 旁邊的一個名為的 build/ 文件夾中,通常 Android Gradle 插件會注意到配置更改並自動重新生成 Ninja 項目。但是並非所有情況都可以檢測到,發生這種情況時,可以使用 「Refresh Linked C++ Project」 選項手動重新生成 Ninja 項目。

用於多設備測試的新測試矩陣

Instrumentation tests 現在可以在多個設備上並行運行,並且可以使用專門的 Instrumentation tests 結果面板進行調查。使用此面板可以確定測試是否由於 API 級別或硬體屬性而失敗。

在各種 API 級別和形式因素上測試應用程式,是確保所有用戶在使用您的應用程式時獲得出色體驗的最佳方法之一。

要利用此功能:

  • 1、在 IDE 頂部中心的目標設備下拉菜單中選擇 「Select Multiple Devices」
  • 2、選擇目標設備並單擊「OK」
  • 3、運行測試。

要在 「Run」 面板中查看測試結果,請轉到 「View > Tool Windows > Run」

新的測試結果面板允許按狀態、設備和 API 級別過濾測試結果。此外可以通過單擊標題對每列進行排序,通過單擊單個測試單獨查看每個設備的日誌和設備信息。

StateFlow支持數據綁定

對於使用協程的 Kotlin 應用程式,現在可以使用 StateFlow 對象作為數據綁定源來自動通知 UI 數據的變化。數據綁定將具有生命周期感知能力,並且只會在 UI 在屏幕上可見時觸發。

要在 StateFlow 綁定類中使用對象,需要指定生命周期所有者來定義 StateFlow 對象的範圍,並在布局中 ViewModel 使用綁定表達式將組件的屬性和方法分配給相應的視圖,如下所示例子:

class ViewModel() {
   val username: StateFlow<String>
}
<TextView
    android:id="@+id/name"
    android:text="@{viewmodel.username}" />

如果在使用 AndroidX 的 Kotlin 應用程式中 StateFlow,數據綁定的功能中會自動包含支持,包括協程依賴項。

要了解更多信息,請參閱使用可觀察數據對象。

改進了建議的導入

改進了建議導入功能支持的庫數量,並更頻繁地更新索引。

建議導入可幫助開發者快速輕鬆地將某些 Google Maven 工件導入類和 Gradle 項目,當 Android Studio 從某些 Google 庫中檢測到未解析的符號時,IDE 會建議將庫導入到類和項目中。

支持構建分析器中的配置緩存

Build Analyzer現在可識別項目何時未啟用配置緩存,並將其作為優化提供。Build Analyzer 運行兼容性評估,以在啟用之前通知項目中的配置緩存是否存在任何問題。

改進的 AGP 升級助手

Android Gradle 插件的 升級助手 現在有一個持久的工具窗口,其中包含將要完成的步驟列表。

附加信息也顯示在工具窗口的右側,如果需要還可以選擇不同版本的 AGP 進行升級,單擊「Refresh」 按鈕更新相應的更新步驟。

非傳遞性 R 類的重構

可以將非傳遞性 R 類與 Android Gradle 插件結合使用,為具有多個模塊的應用程式實現更快的構建。

這樣做有助於防止資源重複,確保每個模塊的 R 類只包含對其自身資源的引用,而不從其依賴項中提取引用。這會帶來更多最新的構建以及避免編譯的相應好處。

可以通過轉到 「Refactor > Migrate to Non-transitive R Classes」 來訪問此功能。

支持 Jetpack Compose 工具

我們現在為預覽和測試使用Jetpack Compose 的 應用程式提供額外支持。

為了獲得使用 Jetpack Compose 開發的最佳體驗,應該使用最新版本的 Android Studio Arctic Fox 以開發者可以體驗 smart editor features,例如新項目模板和立即預覽 Compose UI 的能力。

Compose preview

@Preview 方法 的以下參數現在可用:

  • 「showBackground」:打開和關閉預覽的背景。
  • 「backgroundColor」:設置僅在預覽表面中使用的顏色。
  • 「uiMode」:這個新參數可以採用任何 Configuration.UI_* 常量,並允許您更改預覽的行為,例如將其設置為夜間模式以查看主題的反應。

Interactive preview

可以使用此功能與你的 UI 組件交互,單擊它們,然後查看狀態如何更改,這是獲取有關 UI 反應和預覽動畫的反饋的快速方法。啟用它可單擊 「Interactive」 圖標預覽將切換模式。

要停止時單擊頂部工具欄中的 「Stop Interactive Preview」

Deploy to device

可以使用此功能將 UI 片段部署到設備,這有助於測試設備中代碼的一小部分而無需啟動整個應用程式。

單擊 @Preview 注釋旁邊或預覽頂部的 「Deploy to Device」 圖標 ,Android Studio 會部署到連接的設備或模擬器。

Live Edit of literals

我們添加了文字的實時編輯預覽,以幫助使用 Compose 的開發人員快速編輯其代碼中的文字(字符串、數字、布爾值)並立即查看結果而無需等待編譯。

此功能的目標是通過在預覽、模擬器或物理設備中近乎即時地顯示代碼更改來幫助提高開發者的工作效率。

Compose support in the Layout Inspector

「Layout Inspector」 可以讓開發者看到連接設備應用程式布局的豐富細節,應用程式交互並查看工具中的實時更新,以快速調試可能出現的問題。

開發者可以檢查使用新的 Android 聲明式 UI 框架 Jetpack Compose 編寫的布局,無論應用程式使用完全由 Compose 編寫的布局,還是使用 Compose 和 Views 的混合布局,「布局檢查器都」 可以幫助開發者了解布局在運行設備上的呈現方式。

開始

首先,將應用程式部署到連接的設備,然後通過選擇 「View」 > 「Tool Windows」 > 「Layout Inspector」 打開 「Layout Inspector」 窗口。

如果 「Layout Inspector」 沒有自動連接到應用程式進程,請從進程下拉列表中選擇所需的應用程式進程,應該很快就會在工具窗口中看到應用程式布局。

要開始檢查 Compose 布局,請選擇渲染中可見的布局組件 「Component Tree 中」 選擇它。

「Attributes」 窗口將顯示目前所選擇的組合功能的詳細信息。在此窗口中可以檢查函數的參數及其值,包括修飾符和 lambda 表達式。

對於 lambda 表達式,檢查器提供了一個快捷方式來幫助導航到原始碼中的表達式。

「Layout Inspector」 顯示調用堆棧的所有功能,組件到應用的布局。在許多情況下,這包括 Compose 庫在內部調用的 Compose 函數。如果只想查看應用程式直接調用的 「Component Tre」中的 Compose 函數,可單擊過濾器操作,這可能有助於將樹中顯示的節點數量減少到可能想要檢查的數量。

改進部署下拉菜單

設備下拉列表現在可以區分選擇的設備配置中的不同類型的錯誤。

圖標和樣式更改現在區分 錯誤(導致配置損壞的設備選擇)和 警告(可能導致意外行為但仍可運行的設備選擇)。

此外如果嘗試將項目啟動到出現錯誤或相關警告的設備,Android Studio 現在會發出警告。

新的 Wear OS 配對助手

新的 Wear OS 配對助手可指導開發人員直接在 Android Studio 中將 Wear OS 模擬器與物理或虛擬手機配對。

該助手可以幫助在手機上安裝正確的 Wear OS Companion 應用,並在兩台設備之間建立連接,你可以通過轉到設備下拉菜單 > 「Wear OS Emulator Pairing Assistant」

響應式布局模板

Android Studio Arctic Fox 現在包含一個新的布局模板,可適應各種顯示尺寸和應用調整大小,例如手機、可摺疊設備、平板電腦和分屏模式。

創建新項目或模塊時,選擇響應式活動模板以創建具有動態調整大小的組件的布局。

通過 「File > New」,選擇 「New Project」「New Module」,然後選擇 「Responsive Activity」 模板。

補丁不適用於 Windows for v3.6-v4.1

Windows 平台上 v3.6-v4.1 到 Android Studio Arctic Fox 穩定版的補丁可能不起作用。

原文連結:https://developer.android.com/studio/releases
來源:GSYTech

關鍵字: