Android Studio 4.0 的亮點包括:新的 Motion Editor(動做編輯器),讓你的應用栩栩如生;Build Analyzer(構建分析器),用來探索構建速度降低的緣由;以及一衆 Java 8 語言 API,不管你的應用的最小 API 級別是多少都能用。根據用戶反饋,咱們還大幅改動了 CPU Profiler(CPU 分析器)的用戶界面,以提供更直觀的工做流程和更易用的線程活動並排分析。改進的 Layout Inspector(佈局查看器)如今能夠提供應用 UI 的實時數據,所以你能夠輕鬆準確地調試設備上顯示的內容。html
每一個新版本的發佈都要感謝測試用戶的反饋信息。若是你已準備就緒,如今就能夠訪問官方網站下載 Android Studio 4.0:java
http://d.android.com/studioandroid
https://youtu.be/f1fHPqAYj5Iweb
MotionLayout API 擴展了 ConstraintLayout 的豐富功能,可幫助 Android 開發人員在應用中管理複雜的運動和小部件動畫。在 Android Studio 4.0 中,新的 Motion Editor 讓這個 API 用起來更方便。它提供了用於建立、編輯和預覽 MotionLayout 動畫的強大界面。你用不着再建立和修改複雜的 XML 文件,Motion Editor 會爲你生成它們,並支持約束集合、過渡、關鍵幀和視圖屬性的編輯。若是你想查看編輯器建立的代碼,只需點一下便可。對於正在使用 ConstraintLayout 的開發人員來講,這個 IDE 能夠輕鬆將其轉換爲 MotionLayout。更多信息參考:面試
http://d.android.com/studio/write/motion-editor編程
在 Motion 編輯器中建立、編輯和預覽動畫android-studio
想要調查特定屬性的值的源頭?或者想經過嵌套視圖的實時 3D 表示,更輕鬆地檢查視圖層次?藉助新的 Layout Inspector,你能夠得到正在運行的應用中的最新數據,並得到關於資源解析的深度信息,從而更直觀地調試 UI。性能優化
使用 Live Layout Inspector 實時調試應用 UI微信
從主菜單選擇 View > Tool Windows > Layout Inspector 就能夠啓用實時 Layout Inspector。部署到運行 API 29 或更高版本的設備還能得到其餘特性,例如動態佈局層次結構(隨視圖更改而更新)、詳細的視圖屬性(還能夠幫助你肯定資源值是如何解析的)以及正在運行的應用 UI 的 3D 模型。它能夠在當前運行應用上的視圖之間導航、動畫化和過渡,同時還能保持像素級調試 UI 的能力。更多信息參考:app
https://medium.com/androiddevelopers/layout-inspector-1f8d446d048
使用 Layout Validation 在多個屏幕上對比 UI
當你爲多種屏幕規格、屏幕尺寸和分辨率開發應用時,須要驗證對 UI 所作的更改在所支持的每一個屏幕上都能正常顯示。使用 Layout Validation(佈局驗證)窗口,你能夠同時在多個不一樣的屏幕和配置上預覽佈局,輕鬆確保你的應用兼容各類屏幕尺寸。單擊 IDE 右上角的 Layout Validation 選項卡便可啓用。
CPU Profiler UI 升級
改進的 CPU Profiler UI
CPU Profiler 能夠提供關於應用的線程活動和跟蹤記錄的大量信息。在 Android Studio 4.0 中,CPU 記錄如今與 Profiler 主時間軸分開顯示,並按組分類以簡化分析過程。你能夠上下移動組,或者在組中拖放項目以定製界面。
線程活動的並排分析更輕鬆
爲了更輕鬆地進行並排分析,你如今能夠在 Thread Activity(線程活動)時間軸中查看全部線程活動(包括方法、函數和事件),並使用新的導航快捷方式輕鬆移動數據(例如使用 W,A,S 和 D 鍵精確縮放和平移)。咱們還從新設計了 System Trace(系統跟蹤)UI,爲事件添加了各自的顏色來方便區分,對線程進行排序,把較忙的線程放在前面,並且如今你能夠只查看所選線程的數據。最後,咱們改進了 CPU Profiler 的質量,顯著下降了錄製錯誤率。更多信息參考:
http://d.android.com/studio/releases#cpu-profiler-upgrades
編寫 R8 規則時的智能編輯器功能
R8 是在 Android Gradle 插件 3.4.0 中引入的,可將 desugaring、縮減、混淆、優化和 dexing 合併爲一個步驟,從而顯著提升構建性能。在爲 R8 建立規則文件時,Android Studio 如今提供了智能編輯器功能,例如語法高亮顯示、自動完成和錯誤檢查。該編輯器還與你的 Android 項目集成,爲全部類、方法和字段提供完整的符號補全,還有快速導航和重構。
核心 Android Studio IDE 已更新,加入了 IntelliJ IDEA 2019.3 和 2019.3.3 版本以來的改進。這些改進主要是整個 IDE 的質量和性能改進。
實時模板(Live Templates)是 IntelliJ 的一項便捷功能,容許你輸入簡單的關鍵字將常見的構造插入代碼中。Android Studio 如今爲你的 Kotlin 代碼提供了 Android 專屬的實時模板。例如,只需鍵入 Toast,而後按 Tab 鍵便可快速插入 Toast 的樣板代碼。有關可用實時模板的完整列表,請轉至 Settings(或 Preferences)中的 Editor > Live Templates。
對於編寫 C++ 的開發人員,咱們已轉向 clangd(https://clangd.llvm.org/)做爲主要的語言分析引擎,用於代碼導航、完成、檢查以及顯示代碼錯誤和警告。如今 Android Studio 還打包了 clang-tidy。要配置 Clangd 或 Clang-Tidy 行爲,請轉到 Settings(或 Preferences),導航到 Languages & Frameworks > C/C++ > Clangd/Clang-Tidy,而後配置選項。
Android Gradle 插件 4.0.0 使用 Java8 語言 API(不管你的應用的最低 API 級別如何)對 Android Studio 的 Bulid Analyzer 提供支持,並在動態功能(Dynamic Feature)模塊之間建立了功能對功能的依賴。有關完整的更新列表,請閱讀 Android Gradle 插件 4.0.0 發行說明:
http://d.android.com/studio/releases/gradle-plugin#4-0-0
使用 Build Analyzer 解決構建性能中的瓶頸
Android 開發人員依靠各類 Gradle 插件和自定義構建邏輯來爲應用量身定製構建系統。可是,過期或錯誤配置的任務可能會致使更長的構建時間,不只使人沮喪,還會拖累生產率。Build Analyzer 能夠高亮顯示最影響構建時間的插件和任務,並提供縮短期的步驟建議,從而幫助你瞭解和解決構建中的瓶頸。更多信息參考:
http://d.android.com/studio/build/build-analyzer
早期版本的 Android Gradle 插件經過稱爲 desugaring 的過程,在全部 API 級別上支持各類 Java8 語言功能,例如 lambda 表達式和方法引用。在 Android Studio 4.0 中,不管你的應用的 minSdkVersion 如何,均可以使用 desugaring 引擎來支持 Java 語言 API。這意味着你如今可使用標準語言 API 了,之前它們只在最新的 Android 版本中可用(例如 java.util.stream,java.util.function 和 java.time)。更多信息參考:
http://d.android.com/studio/write/java8-support
功能上的依存關係
使用 Android Gradle 插件 4.0.0 及更高版本時,你如今能夠指定一個動態功能模塊依賴於另外一個功能模塊。這種關係可確保你的應用具備所需的模塊來提供新的功能,從而減小請求並更好地模塊化。例如,:video 功能能夠依賴:camera 功能。若是用戶想使用錄製視頻的功能,則你的應用在請求:video 時會自動下載所需的:camera 模塊。更多信息參考:
http://d.android.com/studio/releases#4-0-0-feature-plugin
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,用於啓用或禁用構建功能
Android Studio 4.0 如今已經內置了對 Kotlin DSL 構建腳本文件(*.kts)的支持,這意味着 Kotlin 構建腳本提供了一套完整的快速修復程序,並由 Project Structure(項目結構)對話框提供支持。咱們將在明年繼續完善 Android Gradle 插件的 DSL API,這可能會致使 Kotlin 腳本用戶的 API 更改中斷。從長遠來看,這些修補程序將爲 Kotlin 腳本用戶提供更加熟悉,易於使用的 DSL。
使用 Android Gradle 插件 4.0.0 及更高版本構建應用時,插件會包含描述已編譯到你應用中的庫依賴項的元數據。上傳應用時,Play 控制檯會檢查這些元數據,以提供有關應用使用的 SDK 和依賴項已知問題的警報,並在某些狀況下提供可解決這些問題的可行反饋。
android {
dependenciesInfo {
// Disables dependency metadata when building APKs.
includeInApk = false
// Disables dependency metadata when building Android App Bundles.
includeInBundle = false
}
}
禁用 APK 和 / 或應用包的依賴項元數據回顧一下,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
Bulid Analyzer:瞭解並解決構建中的瓶頸
Java 8 語言支持更新:不管你的應用的最低 API 級別如何,都可使用這些 API
功能對功能的依賴:定義動態功能模塊之間的依賴關係
buildFeatures DSL:啓用或禁用單獨的構建功能,例如數據綁定
Kotlin DSL:對 Kotlin DSL 腳本文件的基本支持
有關改動的完整列表,請閱讀官方發行說明
http://d.android.com/studio/releases#4-0-0
若是你使用的是早期版本的 Android Studio,只需將其更新爲最新版本便可。或者從這個頁面下載 Android Studio 4.0。
http://d.android.com/studio/
與往常同樣,咱們感謝你們的任何反饋。若是發現錯誤或問題,請提交 issue。
https://android-developers.googleblog.com/2020/05/android-studio-4.html
---END---
本文分享自微信公衆號 - 技術最TOP(Tech-Android)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。