做者 / Adarsh Fernando, Product Managerhtml
即使在現在這個變幻莫測的時勢裏,咱們依然看到來自世界各地開發者們的佳做——那就是 Android 上一個又一個精彩的應用。不論您是在廚房裏用一臺筆記本工做,仍是在家中有更好的辦公環境,您都須要更好的、與時俱進的趁手工具: Android Studio 4.0。更高效的代碼編寫、更快捷的編譯速度,讓您盡情地爲用戶們設計最棒的應用,即刻下載正式版開始使用吧!java
Android Studio 4.0 正式版的發佈,離不開預覽版用戶們早期給出的寶貴反饋。請繼續閱讀本文,或者觀看下方視頻來詳細瞭解 4.0 正式版的亮點和新功能。若是您已經火燒眉毛想要上手一試,請移步咱們的官方網站下載 Android Studio 4.0 正式版。android
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
想要搞清楚某個屬性的取值從何而來?或者想經過實時的 3D 畫面輕鬆查看視圖的嵌套層級?全新的 Layout Inspector 就能夠幫您輕鬆作到。它提供的數據會與正在運行的應用徹底同步,更會讓您對各個資源在應用中如何排布和計算盡收眼底,使得 UI 調試變得更加簡單直觀。模塊化
Layout Validation函數
CPU Profiler 界面升級工具
編寫代碼縮減規則時的智能編輯器功能
IntelliJ IDEA 2019.3 平臺更新
Android Studio IDE 核心已經整合了 IntelliJ IDEA 2019.3 和 2019.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
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 插件內置了對現代代碼庫 (如數據綁定和視圖綁定) 和構建功能 (如自動生成 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 帶來的改進以及新功能:
設計:
開發與分析:
構建:
請參閱版本說明,瞭解本次發佈的完整信息。
請前往下載頁面獲取 Android Studio 4.0。若是您使用的是舊版 Android Studio,能夠直接更新到最新版本。
咱們一如既往地期待着你們的反饋,若是您喜歡某個功能,或者發現了問題,請隨時告訴咱們。