Android Studio 3.0 版 (2017 年 10 月)

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

macOS 使用者:更新舊版 Android Studio 時可能會看到更新錯誤對話方塊,當中指出「Some conflicts were found in the installation area」。只要忽略這個錯誤並按一下「Cancel」即可繼續安裝。

3.0.1 版 (2017 年 11 月)

這是 Android Studio 3.0 版的次要更新版本,當中包含多項一般錯誤修正和效能改善項目。

Gradle 適用的 Android 外掛程式 3.0.0 版

新版 Gradle 適用的 Android 外掛程式包含各種改善項目和新功能,但主要是針對含有大量模組的專案提升建構效能。使用新版外掛程式處理這類大型專案時,您應該會感受到下列差異:

  • 新的延遲依附元件解析功能縮短了建構設定時間。
  • 您可以只針對要建構的專案和變化版本,使用變化版本感知依附元件解析功能
  • 對程式碼或資源套用簡易變更時的漸進式建構時間較短。

注意:這些改善項目需要進行大幅變更,並會破壞外掛程式的部分行為、DSL 和 API。如要升級至 3.0.0 版,您的建構檔案和 Gradle 外掛程式可能需要經過變更。

這個版本還包含以下內容:

  • 支援 Android 8.0。
  • 支援根據語言資源建構獨立的 APK。
  • 支援 Java 8 程式庫和 Java 8 語言功能 (不含 Jack 編譯器)。
  • 支援 Android 測試支援資料庫 1.0 版 (Android 測試公用程式和 Android Test Orchestrator)。
  • 提升 ndk-build 和 cmake 建構速度。
  • 改善 Gradle 同步處理速度。
  • AAPT2 現已預設為啟用。
  • ndkCompile 現在有更多使用限制。建議您改用 CMake 或 ndk-build 編譯要封裝至 APK 的原生程式碼。詳情請參閱從 ndkcompile 遷移相關說明。

如要進一步瞭解異動內容,請參閱 Gradle 適用的 Android 外掛程式版本資訊

如果您已準備好升級至新版外掛程式,請參閱遷移至 Gradle 適用的 Android 外掛程式 3.0.0 版相關說明。

支援 Kotlin

正如我們在2017 年 Google I/O 大會所宣布,Android 現已正式支援 Kotlin 程式設計語言。因此,這個版本的 Android Studio 支援利用 Kotlin 語言進行 Android 開發作業。

如要在專案中納入 Kotlin,您可以依序點選「Code」>「Convert Java File to Kotlin File」,將 Java 檔案轉換成 Kotlin 檔案,也可以使用「New Project」精靈建立啟用 Kotlin 的新專案。

如要踏出第一步,請參閱將 Kotlin 新增至專案的操作說明。

支援 Java 8 語言功能

您現在可以使用特定的 Java 8 語言功能和透過 Java 8 建構的程式庫,而不再需要使用 Jack。請先停用 Jack,以便使用預設工具鏈內建的改良版 Java 8 支援功能。

如要更新專案以便支援新的 Java 8 語言工具鏈,請依序點選「File」>「Project Structure」,在「Project Structure」對話方塊中將「Source Compatibility」和「Target Compatibility」更新至 1.8。詳情請參閱使用 Java 8 語言功能的操作說明。

Android 分析器

全新的 Android 分析器取代了 Android 監控器工具,並提供一套新工具,可用於即時測量應用程式的 CPU、記憶體和網路用量。您可以執行取樣式方法追蹤作業來測量程式碼執行時間、擷取記憶體快照資料、查看記憶體配置情形,以及檢查網路傳輸檔案的詳細資料。

如要開啟這項工具,請依序點選「View」>「Tool Windows」>「Android Profiler」,或是在工具列中按一下「Android Profiler」圖示。

視窗頂端的事件時間軸會顯示觸控事件、按鍵事件和相關活動變更,讓您可掌握更多脈絡資訊,瞭解時間軸中的其他效能事件。

注意:Logcat 檢視畫面也已移至另一個視窗 (先前位於現已移除的 Android 監控器內)。

在「Android Profiler」的總覽時間軸上,點選「CPU」、「MEMORY」或「NETWORK」時間軸即可存取對應的分析器工具。

CPU 分析器

CPU 分析器會觸發樣本或檢測 CPU 追蹤記錄,協助您分析應用程式的 CPU 執行緒使用情形。接著,您就能使用各種資料檢視和篩選器排解 CPU 效能問題。

詳情請參閱 CPU 分析器指南

記憶體分析器

記憶體分析器可協助您找出可能導致延遲、沒有回應、甚至應用程式異常終止的記憶體流失情形。這項工具會顯示應用程式記憶體用量的即時圖表,並可讓您擷取記憶體快照資料、強制執行垃圾收集,以及追蹤記憶體配置。

詳情請參閱記憶體分析器指南

網路分析器

網路分析器可讓您監控應用程式的網路活動、檢查各項網路要求的酬載,以及連回產生網路要求的程式碼。

詳情請參閱網路分析器指南

APK 分析和偵錯

現在只要在建構 APK 時啟用偵錯功能,且您能夠存取偵錯符號和來源檔案,就可以在 Android Studio 中對任何 APK 進行分析和偵錯,不必透過 Android Studio 專案建構 APK。

如要開始使用這項功能,請按一下 Android Studio 歡迎畫面中的「Profile or debug APK」。如果您已開啟專案,也可以在選單列中依序點選「File」>「Profile or debug APK」。系統會顯示未封裝的 APK 檔案,但不會反編譯程式碼。因此,如要正確加入中斷點並查看堆疊追蹤,您必須附加 Java 來源檔案和原生偵錯符號。

詳情請參閱為預先建構的 APK 進行分析和偵錯相關說明。

Device File Explorer

新的 Device File Explorer 可讓您檢查已連結裝置的檔案系統,以及在裝置和電腦之間傳輸檔案。這會取代 DDMS 提供的檔案系統工具。

如要開啟這項工具,請依序點選「View」>「Tool Windows」>「Device File Explorer」

詳情請參閱 Device File Explorer 指南

支援免安裝應用程式

透過全新的 Android 免安裝應用程式支援功能,您可以在專案中使用兩種新的模組類型建立免安裝應用程式:免安裝應用程式模組和功能模組 (如要使用這些模組,您必須先安裝免安裝應用程式開發 SDK)。

此外,Android Studio 還提供新的模組化重構操作,協助您在現有專案中加入免安裝應用程式支援功能。舉例來說,如果您想要重構專案,在免安裝應用程式功能模組中置入部分類別,可以在「Project」視窗中選取類別,然後依序點選「Refactor」>「Modularize」。在畫面上出現的對話方塊中,選取要置入類別的模組,然後按一下「OK」

準備好測試免安裝應用程式時,只要在執行設定的啟動選項中指定免安裝應用程式的網址,即可在已連結的裝置上建構及執行免安裝應用程式模組,方法如下:依序選取「Run」>「Edit Configurations」,選取所需免安裝應用程式模組,然後在「Launch Options」底下設定網址。

詳情請參閱 Android 免安裝應用程式相關說明。

Android Things 模組

「New Project」和「New Module」精靈提供全新的 Android Things 範本,可協助您開始為搭載 Android 的 IoT 裝置進行開發。

詳情請參閱建立 Android Things 專案的操作說明。

自動調整圖示精靈

Image Asset Studio 現在支援向量可繪項目,可讓您建立適用於 Android 8.0 的自動調整啟動器圖示,同時為舊版裝置建立傳統圖示 (「舊版」圖示)。

首先,請在專案中的「res」資料夾上按一下滑鼠右鍵,然後依序點選「New」>「Image Asset」。在「Asset Studio」視窗中,選取「Launcher Icons (Adaptive and Legacy)」做為圖示類型。

注意:您必須將 compileSdkVersion 設為 26 以上,才能使用自動調整啟動器圖示。

詳情請參閱「自動調整圖示」一文。

支援字型資源

為了支援 Android 8.0 中的新字型資源,Android Studio 提供字型資源選取器,可協助您將字型封裝至應用程式,或是對專案進行設定,讓系統在裝置上下載字型 (如果有的話)。您也可以透過版面配置編輯器,在版面配置中預覽字型

如要試用可下載的字型,請確認裝置或模擬器執行的是 Google Play 服務 11.2.63 以上版本。詳情請參閱「可下載的字型」一文。

Firebase 應用程式索引小幫手

我們更新了 Firebase Assistant,在其中加入新的應用程式索引測試教學課程。如要開啟這個小幫手,請依序選取「Tools」>「Firebase」。接著依序選取「App Indexing」>「Test App Indexing」

教學課程包含用於測試公開和個人內容索引的新按鈕:

  • 在步驟 2 中按一下「Preview search results」,確認網址是否會顯示在 Google 搜尋結果中。
  • 在步驟 3 中按一下「Check for errors」,確認應用程式中的可編入索引物件是否已加入個人內容索引。

應用程式連結小幫手已更新,現在提供下列新功能:

  • 為每個網址對應新增網址測試,確保意圖篩選器能夠處理實際網址。

    您也可以使用下方所述的 <tools:validation> 標記手動定義這些網址測試。

  • 使用適當的物件項目建立 Digital Asset Links 檔案以便支援 Google Smart Lock,並在資訊清單檔案中加入對應的 asset_statements <meta-data> 標記。

網址意圖篩選器驗證工具

Android Studio 現在可讓您在資訊清單檔案中使用特殊標記,以便測試意圖篩選器網址。這類標記與應用程式連結小幫手可為您建立的標記相同。

如要為意圖篩選器宣告測試網址,請加入 <tools:validation> 元素和對應的 <intent-filter> 元素。例如:

      <activity ...>
          <intent-filter>
              ...
          </intent-filter>
          <tools:validation testUrl="https://www.example.com/recipe/1138" />
      </activity>
    
    

請務必在 <manifest> 標記中一併加入 xmlns:tools="http://schemas.android.com/tools"

如有任何測試網址未傳遞意圖篩選器定義,系統就會顯示 Lint 錯誤。即使發生這類錯誤,您還是可以建構偵錯變化版本,但這樣做會破壞發布子版本。

版面配置編輯器

我們更新了版面配置編輯器,在其中加入許多強化項目,包括:

  • 新的工具列版面配置和圖示。
  • 元件樹狀結構中的全新版面配置。
  • 更完善的拖曳檢視插入功能。
  • 在編輯器下方提供新的錯誤面板,當中顯示所有問題和修正建議 (如果有的話)。
  • 各種 UI 強化項目,可協助您透過 ConstraintLayout 進行建構作業,包括:
    • 全新的建立障礙支援功能。
    • 全新的建立群組支援功能:在工具列中依序選取「Guidelines」>「Add Group」,這項功能需要使用 ConstraintLayout 1.1.0 Beta 2 以上版本。
    • 用於建立鏈結的全新 UI:選取多個檢視區塊,然後按一下滑鼠右鍵並選取「Chain」

版面配置檢查器

版面配置檢查器提供強化功能,方便您對應用程式版面配置相關問題進行偵錯。例如,您可以將各項資源歸入常用類別,以及在「View Tree」和「Properties」窗格中使用新的搜尋功能。

APK 分析工具

現在 apkanalyzer 工具可讓您透過指令列使用 APK 分析工具。

APK 分析工具也已更新,提供下列改善項目:

  • 針對透過 ProGuard 建構的 APK,您可以載入 ProGuard 對應檔,為 DEX 檢視器新增多項功能,包括:
    • 使用粗體來表示不應在縮減程式碼時移除的節點。
    • 按下特定按鈕,即可顯示在縮減程序中遭到移除的節點。
    • 按下特定按鈕,即可將樹狀檢視中由 ProGuard 模糊化的節點還原為原始名稱。
  • DEX 檢視器現在會顯示每個套件、類別及方法的預估大小影響。
  • 在頂端新增篩選選項,可用於顯示/隱藏欄位和方法。
  • 在樹狀檢視中,如果節點是 DEX 檔案中未定義的參照,則會以斜體顯示。

詳情請參閱「使用 APK 分析工具分析版本」一文。

D8 DEX 編譯器預覽功能

Android Studio 3.0 版提供選用的新 DEX 編譯器:D8。這個新的 D8 編譯器最終會取代 DX 編譯器,但您可以選擇立即採用。

DEX 編譯作業會直接影響應用程式的建構時間、.dex 檔案大小和執行階段效能。相較於目前的 DX 編譯器,全新 D8 編譯器的編譯速度較快,輸出的 .dex 檔案也較小,同時可保持或甚至提升應用程式執行階段效能。

如要試用這項功能,請在專案的 gradle.properties 檔案中設定以下內容:

android.enableD8=true
    

詳情請參閱有關 D8 編譯器的網誌文章

Google 的 Maven 存放區

Android Studio 現在預設會透過 Google 的 Maven 存放區 (而非仰賴 Android SDK Manager),取得 Android 支援資料庫、Google Play 服務、Firebase 和其他依附元件的更新內容。這樣就能輕鬆讓程式庫保持在最新狀態,特別是在使用持續整合 (CI) 系統時。

現在在預設情況下,所有新專案都會納入 Google Maven 存放區。如要更新現有專案,請在頂層 build.gradle 檔案的 repositories 區塊中加入 google()

      allprojects {
          repositories {
              google()
          }
      }
    
    

如要進一步瞭解 Google 的 Maven 存放區,請參閱這篇文章

其他異動

  • Android Studio 的原生偵錯功能不再支援 32 位元 Windows。由於很少開發人員使用這個平台,因此我們選擇將重心放在其他平台。如果您使用 32 位元 Windows,並打算對原生程式碼進行偵錯,請繼續使用 Android Studio 2.3 版
  • 基礎 IDE 已升級至 IntelliJ 2017.1.2 版,這個版本加入了 2016.3 版2017.1 版的幾項新功能,例如 Java 8 語言重構、參數提示、語意醒目顯示、可拖曳的中斷點、即時搜尋結果等。
  • 新增許多 Lint 檢查項目。
  • 另請參閱最新的 Android Emulator 更新內容