作者 / Adarsh Fernando, Product Manager
即便在如今這個變幻莫測的時勢里,我們依然看到來自世界各地開發(fā)者們的佳作——那就是 Android 上一個又一個精彩的應用。不論您是在廚房里用一臺筆記本工作,還是在家中有更好的辦公環(huán)境,您都需要更好的、與時俱進的趁手工具: Android Studio 4.0。更高效的代碼編寫、更快捷的編譯速度,讓您盡情地為用戶們設計最棒的應用,即刻下載正式版開始使用吧!
Android Studio 4.0 的亮點眾多,這里列出幾項: 全新的 Motion Editor,可助您輕松打造應用動效;Build Analyzer 可以幫您找到導致編譯速度緩慢的癥結(jié);您還可以盡情使用 Java 8 API,無需考慮您應用的最低 API 級別。另外,我們還根據(jù)大家的反饋調(diào)整了 CPU Profiler 界面,使得工作流更加直觀,而且還提供了并排顯示功能幫助您更輕松地分析線程活動。Layout Inspector 現(xiàn)在會如實顯示應用 UI 中的真實數(shù)據(jù),方便您更好地調(diào)試設備上顯示的內(nèi)容。
Android Studio 4.0 正式版的發(fā)布,離不開預覽版用戶們早期給出的寶貴反饋。請繼續(xù)閱讀本文,或者觀看下方視頻來詳細了解 4.0 正式版的亮點和新功能。如果您已經(jīng)迫不及待想要上手一試,請移步我們的官方網(wǎng)站下載 Android Studio 4.0 正式版。
-
騰訊視頻鏈接
https://v.qq.com/x/page/q097904jf85.html -
Bilibili 視頻鏈接
https://www.bilibili.com/video/BV1cv411679P/
設計
Motion Editor
MotionLayout API 進一步拓展了 ConstraintLayout 的豐富功能,使得 Android 開發(fā)者能在應用中管理復雜的動效和 widget 動畫。Android Studio 4.0 中新加入的 Motion Editor 讓開發(fā)者能在其界面中創(chuàng)建、編輯和預覽 MotionLayout 動畫,從而更輕松地駕馭這個 API。從創(chuàng)建文件,到編輯約束設置、轉(zhuǎn)場動畫、關(guān)鍵幀以及視圖屬性,Motion Editor 都會為您代勞,再也無需手動創(chuàng)建和編輯復雜的 XML 文件——當然如果您的確需要查看的話,也只需要輕點一下鼠標即可。我們提供的便捷體驗還不止于此: 如果您已經(jīng)在使用 ConstraintLayout,可以通過 IDE 輕松將其轉(zhuǎn)換成 MotionLayout。前往開發(fā)者官網(wǎng)了解更多。
Layout Inspector 全新升級
想要搞清楚某個屬性的取值從何而來?或者想通過實時的 3D 畫面輕松查看視圖的嵌套層級?全新的 Layout Inspector 就可以幫您輕松做到。它提供的數(shù)據(jù)會與正在運行的應用完全同步,更會讓您對各個資源在應用中如何排布和計算一覽無余,使得 UI 調(diào)試變得更加簡單直觀。
在主菜單中依次選擇 View > Tool Windows > Layout Inspector 來使用 Layout Inspector。如果您的應用是部署到 API 等級 29 或以上的設備,則可以使用到更豐富的功能,比如隨著視圖變化動態(tài)更新的布局層次結(jié)構(gòu)、幫助您更好了解資源取值解析的詳細視圖屬性信息、以及可以展示運行時 UI 結(jié)構(gòu)的實時 3D 模型。您可以盡情在應用中導航、觸發(fā)動畫和視圖轉(zhuǎn)場,在這同時依然能精確調(diào)試 UI,讓每一個像素都盡如人意。前往《Android Studio 4.0+ 中新的 UI 層次結(jié)構(gòu)調(diào)試工具》了解更多。
Layout Validation
在為多種硬件配置、屏幕尺寸和分辨率開發(fā)應用時,您需要確保在 UI 中做出的每一處修改都能在各個屏幕上完美展現(xiàn)。通過 Layout Validation 窗口,您可以同時預覽 UI 在不同屏幕、不同配置中的呈現(xiàn)結(jié)果,從而輕松讓應用適配好這些設備。只需點擊 IDE 右上角的 Layout Validation 標簽即可打開本窗口。
開發(fā)與分析
CPU Profiler 界面升級
CPU Profiler 的設計目的是為您呈現(xiàn)應用中線程活動以及跟蹤數(shù)據(jù)的豐富信息。開發(fā)者們在反饋中希望我們讓這個工具的 UI 導航起來更為直觀,以及讓其中的數(shù)據(jù)更易于解讀,于是我們在這個版本中帶來了新的界面來回應大家的需求。在 Android Studio 4.0 中,CPU 活動記錄從分析器的主時間軸中分離出來,并成組展現(xiàn),以便于分析。您可以上下移動分組,也可以通過拖放操作重新排列組內(nèi)的項目,從而打造更定制化的呈現(xiàn)布局。
并排顯示使得分析更加輕松,您現(xiàn)在可以在 Thread Activity 時間軸中查看所有線程活動 (包括方法、函數(shù)和事件),以及使用新加入的導航快捷鍵在數(shù)據(jù)間移動——如使用 W/A/S/D 四鍵進行精細的縮放和平移。我們還重新設計了 System Trace 界面,用不同的顏色來區(qū)分顯示事件,從而在視覺上更加醒目。在線程排序方面,更繁忙的線程會優(yōu)先展示,幫助您專注于所選線程中的數(shù)據(jù)。最后,在我們投入資源改善 CPU Profiler 的質(zhì)量后,我們發(fā)現(xiàn)自 Android Studio 3.6 以來用戶報告的記錄錯誤率有了明顯下降。本次更新還帶來了更多值得嘗試的改進,前往開發(fā)者官網(wǎng)了解更多。
編寫代碼縮減規(guī)則時的智能編輯器功能
我們在 Android Gradle 插件 3.4.0 中引入了 R8,使得字節(jié)碼轉(zhuǎn)換 (desugaring)、縮減、混淆和 dex 處理能一步到位,這讓構(gòu)建性能得到了顯著的提升。在創(chuàng)建 R8 的規(guī)則文件時,Android Studio 現(xiàn)在提供了智能編輯器功能,包括語法高亮、補全以及錯誤檢查等。編輯器還與您的 Android 項目集成,為所有的類、方法和字段提供完整的符號補全,并提供快速導航和重構(gòu)功能。
IntelliJ IDEA 2019.3 平臺更新
Android Studio IDE 核心已經(jīng)整合了 IntelliJ IDEA 2019.3 和 2019.3.3 版本的更新。這些更新主要用于提升 IDE 整體的質(zhì)量和性能。
Kotlin Android 實時模板
實時模板 (Live Template) 是 IntelliJ 中一個很方便的功能: 您只需輸入簡單的關(guān)鍵詞即可將常見的構(gòu)造插入自己的代碼中。Android Studio 現(xiàn)在為您的 Kotlin 代碼提供了 Android 專用的實時模板。例如,您現(xiàn)在只需輸入 toast 并按下 Tab 鍵即可快速插入一個 Toast 消息框。如需查看可用實時模板的完整列表,請打開 Settings (或 Preferences) 對話框,并依次選擇 Editor > Live Templates。
為 C++ 提供 Clangd 支持
對使用 C++ 語言的開發(fā)者,我們現(xiàn)在改用 clangd 作為主要的語言分析引擎,用于代碼導航、補全、檢查、以及顯示代碼錯誤和警告。我們現(xiàn)在還將 clang-tidy 綁定在 Android Studio 中。想要配置 clangd 或 Clang-Tidy 的行為邏輯,請打開 IDE 的 Settings (或 Preferences) 對話框,并依次選擇 Languages & Frameworks > C/C++ > Clangd (或 Clang-Tidy),然后設置相應的選項。
構(gòu)建
Android Gradle 插件 4.0.0 通過使用 Java 8 API (無需考慮您應用的最低 API 級別) 為 Android Studio 帶來了 Build Analyzer 功能,并支持在動態(tài)功能模塊之間創(chuàng)造功能對功能的依賴性。完整的更新列表請查看 Android Gradle 插件 4.0.0 版本說明。
Build Analyzer
Android 開發(fā)者會使用多種 Gradle 插件以及自定義構(gòu)建邏輯來為自己的應用定制構(gòu)建系統(tǒng)。然而,過時或錯誤配置的任務會延長構(gòu)建時間,從而拖累開發(fā)效率,并導致開發(fā)人員心情沮喪、效率下降。Build Analyzer 可以幫助開發(fā)者找到構(gòu)建中的瓶頸,那些顯著拖累構(gòu)建時間的插件和任務會被高亮顯示,并同時給出緩解速度回退的操作建議。前往開發(fā)者官網(wǎng)了解更多。
Java 8 語言庫在 D8 和 R8 中的字節(jié)碼轉(zhuǎn)換 (desugaring)
上一個版本的 Android Gradle 插件通過字節(jié)碼轉(zhuǎn)換操作,在所有 API 等級中支持了大量 Java 8 的語言功能,比如 lambda 表達式和方法引用。在 Android Studio 4.0 中字節(jié)碼轉(zhuǎn)換引擎得到了擴展,現(xiàn)在不管您應用的 minSdkVersion 是多少,都可以使用 Java 8 API (比如 java.util.stream、java.util.function 和 java.time)。前往開發(fā)者官網(wǎng)了解更多。
功能模塊層級的依賴關(guān)系
在使用 Android Gradle 插件 4.0.0 及以上版本時,您可以指定一個動態(tài)功能模塊依賴于另一個功能模塊。這種依賴關(guān)系使得您的應用可以獲得所需的模塊來解鎖更豐富的功能,從而減少下載需求,也使得應用更易于模塊化。比如,一個 :video 功能可以依賴 :camera 功能。如果用戶需要使用錄制視頻的功能,您的應用會在請求 :video 時自動下載所需的 :camera 模塊。前往開發(fā)者官網(wǎng)了解更多。
新的構(gòu)建功能開關(guān)選項
Android Gradle 插件內(nèi)置了對現(xiàn)代代碼庫 (如數(shù)據(jù)綁定和視圖綁定) 和構(gòu)建功能 (如自動生成 BuildConfig 類) 的支持。但您可能不是每個項目都需要用到這些庫和功能。在插件的 4.0.0 版本中,您可以單獨關(guān)閉某個構(gòu)建選項 (如下所示),從而優(yōu)化大型項目的構(gòu)建性能。關(guān)于 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
...
}
}
△ 用于啟用/禁用構(gòu)建功能的 Android Gradle 插件 DSL
對 Kotlin DSL 腳本文件的基礎支持
Android Studio 4.0 現(xiàn)在已經(jīng)內(nèi)置了對 Kotlin DSL 構(gòu)建腳本文件 (*.kts) 的支持,這意味著 Kotlin 構(gòu)建腳本有了完整的快速修復功能,并且能在 Project Structure 窗口中進行操作。雖然我們對使用 Kotlin 來配置構(gòu)建有很高的期待,但接下來的一年中我們依然會繼續(xù)完善 Android Gradle 插件的 DSL API,這可能會給 Kotlin 腳本用戶帶來 API 的重大變更 (breaking change)。從長遠來看,這些改善終將使得 DSL 對 Kotlin 腳本用戶來說更簡單易用。
依賴元數(shù)據(jù)
在使用 Android Gradle 插件 4.0.0 及以上版本構(gòu)建應用時,插件中會包含描述編譯到您的應用中的庫依賴關(guān)系的元數(shù)據(jù)。在上傳應用時,Play Console 會檢查這些元數(shù)據(jù),并告知您哪些 SDK 以及應用中的依賴存在問題,在某些時候還會給出如何解決的反饋。
這些數(shù)據(jù)會被壓縮,通過 Google Play 的簽名密鑰進行加密,并存儲在發(fā)布的應用的簽名模塊中。如果您不愿意分享這些信息,可以在模塊的 build.gradle 文件中加入以下內(nèi)容:
android {
dependenciesInfo {
// Disables dependency metadata when building APKs.
includeInApk = false
// Disables dependency metadata when building Android App Bundles.
includeInBundle = false
}
}
△ 禁用 APK 或 App Bundle 中的依賴元數(shù)據(jù)
現(xiàn)在讓我們回顧一下 Android Studio 4.0 帶來的改進以及新功能:
設計:
- Motion Editor: 輕松創(chuàng)建、編輯和預覽 MotionLayout 動畫
- Layout Inspector 全新升級: 更加直觀的實時調(diào)試體驗
- Layout Validation: 在多個屏幕上同時對比 UI
開發(fā)與分析:
- CPU Profiler 更新: UI 更直觀、更易于瀏覽,數(shù)據(jù)更易解讀
- R8 規(guī)則更新: 編寫代碼縮減規(guī)則的智能編輯器功能,如語法高亮、補全和錯誤檢查
- IntelliJ IDEA 2019.3 平臺更新: 性能和質(zhì)量得到提升
- 實時模板更新: 為 Kotlin 提供 Android 專用實時模板
- Clangd 支持: 默認啟用 Clangd 和 Clang-Tidy
構(gòu)建:
- Build Analyzer: 了解和找到構(gòu)建時的性能瓶頸
- Java 8 語言支持更新: Java 8 API 現(xiàn)在均可使用,與應用最低 API 等級無關(guān)
- 功能對功能的依賴性: 定義兩個動態(tài)功能模塊之間的依賴
- buildFeatures DSL: 逐個啟用/禁用構(gòu)建功能,如數(shù)據(jù)綁定
- Kotlin DSL: 對 Kotlin DSL 腳本文件的基礎支持
請參閱版本說明,了解本次發(fā)布的完整信息。
即刻開始使用
請前往下載頁面獲取 Android Studio 4.0。如果您使用的是舊版 Android Studio,可以直接更新到最新版本。
我們一如既往地期待著大家的反饋,如果您喜歡某個功能,或者發(fā)現(xiàn)了問題,請隨時告訴我們。