Android Studio 4.0 正式版發佈

做者 / Adarsh Fernando, Product Managerhtml

即使在現在這個變幻莫測的時勢裏,咱們依然看到來自世界各地開發者們的佳做——那就是 Android 上一個又一個精彩的應用。不論您是在廚房裏用一臺筆記本工做,仍是在家中有更好的辦公環境,您都須要更好的、與時俱進的趁手工具: Android Studio 4.0。更高效的代碼編寫、更快捷的編譯速度,讓您盡情地爲用戶們設計最棒的應用,即刻下載正式版開始使用吧!java

Android Studio 4.0 的亮點衆多,這裏列出幾項: 全新的 Motion Editor,可助您輕鬆打造應用動效;Build Analyzer 能夠幫您找到致使編譯速度緩慢的癥結;您還能夠盡情使用 Java 8 API,無需考慮您應用的最低 API 級別。另外,咱們還根據你們的反饋調整了 CPU Profiler 界面,使得工做流更加直觀,並且還提供了並排顯示功能幫助您更輕鬆地分析線程活動。Layout Inspector 如今會如實顯示應用 UI 中的真實數據,方便您更好地調試設備上顯示的內容。

Android Studio 4.0 正式版的發佈,離不開預覽版用戶們早期給出的寶貴反饋。請繼續閱讀本文,或者觀看下方視頻來詳細瞭解 4.0 正式版的亮點和新功能。若是您已經火燒眉毛想要上手一試,請移步咱們的官方網站下載 Android Studio 4.0 正式版android

  • 騰訊視頻連接

v.qq.com/x/page/q097…bash

  • Bilibili 視頻連接

www.bilibili.com/video/BV1cv…intellij-idea

設計

Motion Editor編輯器

MotionLayout API 進一步拓展了 ConstraintLayout 的豐富功能,使得 Android 開發者能在應用中管理複雜的動效和 widget 動畫。Android Studio 4.0 中新加入的 Motion Editor 讓開發者能在其界面中建立、編輯和預覽 MotionLayout 動畫,從而更輕鬆地駕馭這個 API。從建立文件,到編輯約束設置、轉場動畫、關鍵幀以及視圖屬性,Motion Editor 都會爲您代勞,再也無需手動建立和編輯複雜的 XML 文件——固然若是您的確須要查看的話,也只須要輕點一下鼠標便可。咱們提供的便捷體驗還不止於此: 若是您已經在使用 ConstraintLayout,能夠經過 IDE 輕鬆將其轉換成 MotionLayout。前往開發者官網瞭解更多。ide

△ 在 Motion Editor 中建立、編輯和預覽動畫
Layout Inspector 全新升級

想要搞清楚某個屬性的取值從何而來?或者想經過實時的 3D 畫面輕鬆查看視圖的嵌套層級?全新的 Layout Inspector 就能夠幫您輕鬆作到。它提供的數據會與正在運行的應用徹底同步,更會讓您對各個資源在應用中如何排布和計算盡收眼底,使得 UI 調試變得更加簡單直觀。模塊化

△ 經過 Layout Inspector 實時調試應用 UI
在主菜單中依次選擇 View > Tool Windows > Layout Inspector 來使用 Layout Inspector。若是您的應用是部署到 API 等級 29 或以上的設備,則可使用到更豐富的功能,好比隨着視圖變化動態更新的佈局層次結構、幫助您更好了解資源取值解析的詳細視圖屬性信息、以及能夠展現運行時 UI 結構的實時 3D 模型。您能夠盡情在應用中導航、觸發動畫和視圖轉場,在這同時依然能精確調試 UI,讓每個像素都盡如人意。前往《 Android Studio 4.0+ 中新的 UI 層次結構調試工具》瞭解更多。

Layout Validation函數

△ 使用 Layout Validation 在多個屏幕中對比 UI
在爲多種硬件配置、屏幕尺寸和分辨率開發應用時,您須要確保在 UI 中作出的每一處修改都能在各個屏幕上完美展示。經過 Layout Validation 窗口,您能夠同時預覽 UI 在不一樣屏幕、不一樣配置中的呈現結果,從而輕鬆讓應用適配好這些設備。只需點擊 IDE 右上角的 Layout Validation 標籤便可打開本窗口。

開發與分析

CPU Profiler 界面升級工具

△ 升級後的 CPU Profiler 界面
CPU Profiler 的設計目的是爲您呈現應用中線程活動以及跟蹤數據的豐富信息。開發者們在反饋中但願咱們讓這個工具的 UI 導航起來更爲直觀,以及讓其中的數據更易於解讀,因而咱們在這個版本中帶來了新的界面來回應你們的需求。在 Android Studio 4.0 中,CPU 活動記錄從分析器的主時間軸中分離出來,併成組展示,以便於分析。您能夠上下移動分組,也能夠經過拖放操做從新排列組內的項目,從而打造更定製化的呈現佈局。

△ 並排顯示使得分析線程活動更加輕鬆
並排顯示使得分析更加輕鬆,您如今能夠在 Thread Activity 時間軸中查看全部線程活動 (包括方法、函數和事件),以及使用新加入的導航快捷鍵在數據間移動——如使用 W/A/S/D 四鍵進行精細的縮放和平移。咱們還從新設計了 System Trace 界面,用不一樣的顏色來區分顯示事件,從而在視覺上更加醒目。在線程排序方面,更繁忙的線程會優先展現,幫助您專一於所選線程中的數據。最後,在咱們投入資源改善 CPU Profiler 的質量後,咱們發現自 Android Studio 3.6 以來用戶報告的記錄錯誤率有了明顯降低。本次更新還帶來了更多值得嘗試的改進,前往 開發者官網瞭解更多。

編寫代碼縮減規則時的智能編輯器功能

△ 編寫 R8 代碼規則時的智能編輯器功能
咱們在 Android Gradle 插件 3.4.0 中引入了 R8,使得字節碼轉換 (desugaring)、縮減、混淆和 dex 處理能一步到位,這讓構建性能獲得了顯著的提高。在建立 R8 的規則文件時,Android Studio 如今提供了智能編輯器功能,包括語法高亮、補全以及錯誤檢查等。編輯器還與您的 Android 項目集成,爲全部的類、方法和字段提供完整的符號補全,並提供快速導航和重構功能。

IntelliJ IDEA 2019.3 平臺更新

Android Studio IDE 核心已經整合了 IntelliJ IDEA 2019.32019.3.3 版本的更新。這些更新主要用於提高 IDE 總體的質量和性能。

Kotlin Android 實時模板

實時模板 (Live Template) 是 IntelliJ 中一個很方便的功能: 您只需輸入簡單的關鍵詞便可將常見的構造插入本身的代碼中。Android Studio 如今爲您的 Kotlin 代碼提供了 Android 專用的實時模板。例如,您如今只需輸入 toast 並按下 Tab 鍵便可快速插入一個 Toast 消息框。如需查看可用實時模板的完整列表,請打開 Settings (或 Preferences) 對話框,並依次選擇 Editor > Live Templates

爲 C++ 提供 Clangd 支持

對使用 C++ 語言的開發者,咱們如今改用 clangd 做爲主要的語言分析引擎,用於代碼導航、補全、檢查、以及顯示代碼錯誤和警告。咱們如今還將 clang-tidy 綁定在 Android Studio 中。想要配置 clangd 或 Clang-Tidy 的行爲邏輯,請打開 IDE 的 Settings (或 Preferences) 對話框,並依次選擇 Languages & Frameworks > C/C++ > Clangd (或 Clang-Tidy),而後設置相應的選項。

構建

Android Gradle 插件 4.0.0 經過使用 Java 8 API (無需考慮您應用的最低 API 級別) 爲 Android Studio 帶來了 Build Analyzer 功能,並支持在動態功能模塊之間創造功能對功能的依賴性。完整的更新列表請查看 Android Gradle 插件 4.0.0 版本說明

Build Analyzer

△ 使用 Build Analyzer 發現構建性能瓶頸
Android 開發者會使用多種 Gradle 插件以及自定義構建邏輯來爲本身的應用定製構建系統。然而,過期或錯誤配置的任務會延長構建時間,從而拖累開發效率,並致使開發人員心情沮喪、效率降低。Build Analyzer 能夠幫助開發者找到構建中的瓶頸,那些顯著拖累構建時間的插件和任務會被高亮顯示,並同時給出緩解速度回退的操做建議。前往 開發者官網瞭解更多。

Java 8 語言庫在 D8 和 R8 中的字節碼轉換 (desugaring)

上一個版本的 Android Gradle 插件經過字節碼轉換操做,在全部 API 等級中支持了大量 Java 8 的語言功能,好比 lambda 表達式和方法引用。在 Android Studio 4.0 中字節碼轉換引擎獲得了擴展,如今無論您應用的 minSdkVersion 是多少,均可以使用 Java 8 API (好比 java.util.stream、java.util.function 和 java.time)。前往開發者官網瞭解更多。

功能模塊層級的依賴關係

△ 功能對功能的依賴性
在使用 Android Gradle 插件 4.0.0 及以上版本時,您能夠指定一個動態功能模塊依賴於另外一個功能模塊。這種依賴關係使得您的應用能夠得到所需的模塊來解鎖更豐富的功能,從而減小下載需求,也使得應用更易於模塊化。好比,一個 :video 功能能夠依賴 :camera 功能。若是用戶須要使用錄製視頻的功能,您的應用會在請求 :video 時自動下載所需的 :camera 模塊。前往 開發者官網瞭解更多。

新的構建功能開關選項

Android Gradle 插件內置了對現代代碼庫 (如數據綁定和視圖綁定) 和構建功能 (如自動生成 BuildConfig 類) 的支持。但您可能不是每一個項目都須要用到這些庫和功能。在插件的 4.0.0 版本中,您能夠單獨關閉某個構建選項 (以下所示),從而優化大型項目的構建性能。關於 DSL 和您能夠操做的完整功能列表,請參閱版本說明

android {
    // The default value for each feature is shown below.
    // You can change the value to override the default behavior.
    buildFeatures {
        // Determines whether to support View Binding.
        // Note that the viewBinding.enabled property is now deprecated.
        viewBinding = false
        // Determines whether to support Data Binding.
        // Note that the dataBinding.enabled property is now deprecated.
        dataBinding = false
        ...
    }
}
複製代碼

△ 用於啓用/禁用構建功能的 Android Gradle 插件 DSL

對 Kotlin DSL 腳本文件的基礎支持

Android Studio 4.0 如今已經內置了對 Kotlin DSL 構建腳本文件 (*.kts) 的支持,這意味着 Kotlin 構建腳本有了完整的快速修復功能,而且能在 Project Structure 窗口中進行操做。雖然咱們對使用 Kotlin 來配置構建有很高的期待,但接下來的一年中咱們依然會繼續完善 Android Gradle 插件的 DSL API,這可能會給 Kotlin 腳本用戶帶來 API 的重大變動 (breaking change)。從長遠來看,這些改善終將使得 DSL 對 Kotlin 腳本用戶來講更簡單易用。

依賴元數據

在使用 Android Gradle 插件 4.0.0 及以上版本構建應用時,插件中會包含描述編譯到您的應用中的庫依賴關係的元數據。在上傳應用時,Play Console 會檢查這些元數據,並告知您哪些 SDK 以及應用中的依賴存在問題,在某些時候還會給出如何解決的反饋。

這些數據會被壓縮,經過 Google Play 的簽名密鑰進行加密,並存儲在發佈的應用的簽名模塊中。若是您不肯意分享這些信息,能夠在模塊的 build.gradle 文件中加入如下內容:

android {
    dependenciesInfo {
        // Disables dependency metadata when building APKs.
        includeInApk = false
        // Disables dependency metadata when building Android App Bundles.
        includeInBundle = false
    }
}
複製代碼

△ 禁用 APK 或 App Bundle 中的依賴元數據

如今讓咱們回顧一下 Android Studio 4.0 帶來的改進以及新功能:

設計:

  • Motion Editor: 輕鬆建立、編輯和預覽 MotionLayout 動畫
  • Layout Inspector 全新升級: 更加直觀的實時調試體驗
  • Layout Validation: 在多個屏幕上同時對比 UI

開發與分析:

  • CPU Profiler 更新: UI 更直觀、更易於瀏覽,數據更易解讀
  • R8 規則更新: 編寫代碼縮減規則的智能編輯器功能,如語法高亮、補全和錯誤檢查
  • IntelliJ IDEA 2019.3 平臺更新: 性能和質量獲得提高
  • 實時模板更新: 爲 Kotlin 提供 Android 專用實時模板
  • Clangd 支持: 默認啓用 Clangd 和 Clang-Tidy

構建:

  • Build Analyzer: 瞭解和找到構建時的性能瓶頸
  • Java 8 語言支持更新: Java 8 API 如今都可使用,與應用最低 API 等級無關
  • 功能對功能的依賴性: 定義兩個動態功能模塊之間的依賴
  • buildFeatures DSL: 逐個啓用/禁用構建功能,如數據綁定
  • Kotlin DSL: 對 Kotlin DSL 腳本文件的基礎支持

請參閱版本說明,瞭解本次發佈的完整信息。

即刻開始使用

請前往下載頁面獲取 Android Studio 4.0。若是您使用的是舊版 Android Studio,能夠直接更新到最新版本。

咱們一如既往地期待着你們的反饋,若是您喜歡某個功能,或者發現了問題,請隨時告訴咱們。

相關文章
相關標籤/搜索