Android Studio 4.0 穩(wěn)定版發(fā)布了,牛逼功能一覽

Android Studio 4.0(2020年5月) 更新啦!此版本包含了各種新功能和改進,還有一些廢棄配置。
重要提示:更新后,需要重新啟動 Android Studio 才能應(yīng)用從早期版本的 IDE 遷移的所有內(nèi)存設(shè)置。有關(guān)更多信息,請參見“已知問題(https://developer.android.com/studio/known-issues#memory-settings)”頁面。
一、Android Gradle 插件 4.0.0
最新版本的 Android Gradle 插件包含許多更新,例如 Java 8 對較舊版本的 Android 功能上的依賴項進行了更新。
要了解更多信息可閱讀【完整的Android Gradle插件發(fā)行說明】(https://android.devsite.corp.google.com/studio/releases/gradle-plugin#4-0-0)。
此外,Android Studio 的新功能可幫助您提高構(gòu)建性能。
1、構(gòu)建分析器
當(dāng)將 Android Studio 4.0 與 Android Gradle 插件 4.0.0 及更高版本一起使用時,Build Analyzer 窗口可幫助你了解和診斷構(gòu)建過程中的問題,例如禁用的優(yōu)化和配置不正確的 task,要打開 Build Analyzer 窗口,請按照下列步驟操作:
- 1、如果尚未執(zhí)行此操作,請通過從菜單欄中選擇 Build> Make Project 來構(gòu)建應(yīng)用程序。
- 2、從菜單欄中選擇 View > Tool Windows > Build。
- 3、在 Build 窗口中,以下列方式之一打開 Build Analyzer 窗口: Android Studio完成構(gòu)建項目后,單擊 Build Analyzer 選項卡。 Android Studio完成構(gòu)建項目后,單擊 Build Output 窗口右側(cè)的鏈接。
Build Analyzer 窗口在左側(cè)的樹中組織可能的構(gòu)建問題。你可以檢查并單擊每個問題,以在右側(cè)面板中調(diào)查其詳細(xì)信息。
當(dāng) Android Studio 分析構(gòu)建時,它將計算確定構(gòu)建持續(xù)時間的一組任務(wù),并提供可視化幫助你了解每個任務(wù)的影響,你還可以通過展開 Warnings 節(jié)點來獲取有關(guān)警告的詳細(xì)信息。
檢查確定構(gòu)建持續(xù)時間的任務(wù)。
2、Java 8庫在D8和R8中逐漸消失
Android Studio 現(xiàn)在支持使用多種 Java 8 語 言API,而無需給應(yīng)用程序設(shè)置最低 API 級別。
通過一個稱為 desugaring 的過程,Android Studio 3.0 及更高版本中的 DEX 編譯器 D8 已經(jīng)為Java 8 語言功能(例如lambda表達式,默認(rèn)接口方法,嘗試資源等)提供了實質(zhì)性支持。
在Android Studio 4.0中,已將 desugaring engine 擴展為能夠?qū)?Java 語言 API 的語法糖。這意味著你現(xiàn)在可以在 java.util.streams 支持較舊版本的 Android 的應(yīng)用程序中,包含僅在最新的Android版本中可用的標(biāo)準(zhǔn)語言API 。
此版本支持以下一組API:
- Sequential streams (java.util.stream1)
- A subset of java.time
- java.util.function
- Recent additions to java.util.{Map,Collection,Comparator}
- Optionals(java.util.Optional,java.util.OptionalInt and some other new classes useful with the above APIs
- Some additions to java.util.concurrent.atomic (new methods on AtomicInteger, AtomicLong and AtomicReference)
- ConcurrentHashMap (with bug fixes for Android 5.0)
為了支持這些語言API,D8 會編譯一個單獨的庫DEX文件,該文件包含了一些本身缺少API的實現(xiàn),并將其包含在您的應(yīng)用程序中,而 desugaring 的過程 將重寫您的應(yīng)用程序代碼,以在運行時使用此庫。
要啟用對這些語言API的支持,請在模塊build.gradle文件中包括以下內(nèi)容:
android { defaultConfig { // Required when setting minSdkVersion to 20 or lower multiDexEnabled true } compileOptions { // Flag to enable support for the new language APIs coreLibraryDesugaringEnabled true // Sets Java compatibility to Java 8 sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.4' }
3、功能上的依存關(guān)系
在早期版本的 Android Gradle 插件中,所有動態(tài)功能模塊都只能依賴于應(yīng)用程序的基本模塊。
現(xiàn)在,當(dāng)使用 Android Gradle 插件 4.0.0 及更高版本時,可以包括一個依賴于另一個功能模塊的功能模塊,即 :video 功能可以取決于:camera 功能,而功能取決于基礎(chǔ)模塊,結(jié)果如下圖所示。
動態(tài)功能 :video 取決于 :camera 的功能,后者取決于基本 :app 模塊。
這意味著,當(dāng)應(yīng)用程序請求下載動態(tài)功能模塊時,該應(yīng)用程序還會下載其依賴的其他功能模塊,在之后創(chuàng)建動態(tài)功能模塊,你可以在模塊聲明一個功能上特征依賴 build.gradle 文件,例如 :video 模塊聲明對 :camera 以下項的依賴關(guān)系:
// In the build.gradle file of the ':video' module. dependencies { // All dynamic feature modules must declare a dependency // on the base module. implementation project(':app') // Declares that this module also depends on the 'camera' // dynamic feature module. implementation project(':camera') ... }
此外,你可以通過在菜單欄中單擊 Help > Edit Custom VM Options 并啟用以下功能,在 Android Studio 中啟用 feature-on-feature dependency 功能(例如,在編輯 Run configuration 時支持該功能):
-Drundebug.feature.on.feature=true
4、依賴元數(shù)據(jù)
使用 Android Gradle 插件 4.0.0 及更高版本構(gòu)建應(yīng)用時,該插件包含描述已編譯到應(yīng)用中的依賴項的元數(shù)據(jù),uploading 應(yīng)用程序時,Play 控制臺會檢查此元數(shù)據(jù)提供以下好處:
- 獲取有關(guān)你的應(yīng)用使用的SDK和依賴項的已知問題的警報
- 收到可行的反饋來解決這些問題
數(shù)據(jù)經(jīng)過壓縮,通過 Google Play 簽名密鑰加密,并存儲在發(fā)布應(yīng)用的簽名欄中,你也可以自己在以下目錄中的本地中間構(gòu)建文件中檢查元數(shù)據(jù)://build/outputs/sdk-dependencies/release/sdkDependency.txt。
如果不想共享此信息,可以通過在模塊 build.gradle 文件中添加以下內(nèi)容來退出:
android { dependenciesInfo { // Disables dependency metadata when building APKs. includeInApk = false // Disables dependency metadata when building Android App Bundles. includeInBundle = false } }
二、支持 Kotlin DSL 腳本文件
Android Gradle 插件現(xiàn)在支持 Kotlin DSL 構(gòu)建腳本文件(*.kts),配合 Android Studio 結(jié)合使用時,某些 IDE 功能(例如 Project Structure 對話框和構(gòu)建腳本快速修復(fù)程序)現(xiàn)在還支持讀寫 Kotlin 構(gòu)建腳本文件。
三、 CPU Profiler 升級
根據(jù)用戶的反饋,谷歌將集中精力通過兩種重要方式來改善 CPU Profiler 中的用戶體驗。
首先,與以前的 Android Studio 版本相比,CPU Profiler 中 CPU 記錄的錯誤率已大大降低。
其次,對 CPU Profiler UI 進行了全面改進,以提供更直觀的工作流程,其中 UI的一些顯著更改包括:
CPU記錄與主探查器時間軸分開了以便于分析,記錄的數(shù)據(jù)在 Profiler 窗口的左側(cè)按組分布。用戶可以通過單擊探查器中的選項圖標(biāo)
在窗口右上角的選項圖標(biāo)圖標(biāo)或通過拖放組中的單個項目來上下移動組以重新組織列表 。
為了更輕松地進行并排分析,用戶現(xiàn)在可以在線程活動時間軸中查看所有線程活動(包括方法,函數(shù)和事件)。有幾種方法可以瀏覽時間軸:
- 要關(guān)注特定的時間點,請在 CPU 使用率圖表的左上方拖動一個范圍。
- 要放大或縮小,請在按住 Control(或MacOS上的Command)的同時使用鼠標(biāo)滾輪;要向左或向右平移,請在按住空格鍵的同時拖動。
- 或者使用W和A鍵進行精細(xì)的放大和縮小,使用S和D鍵進行左右的精細(xì)平移。
Flame Chart,Top Down 和 Bottom Up 分析的選項卡現(xiàn)在位于右側(cè)列中,在 Threads 組中,對于系統(tǒng)跟蹤記錄線程會自動展開,對于其他記錄類型默認(rèn)情況下會折疊起,在線程名稱上雙擊(或按Enter)以展開或折疊它們。
如屏幕截圖所示,系統(tǒng)跟蹤UI還包括以下改進:
- 現(xiàn)在事件采用了獨特的顏色,以便于區(qū)分。
- 線程按它們中的跟蹤事件數(shù)進行排序,以便 “busier” 的線程在列表中排名更高。
- 可以選擇一個或多個線程以僅在那些選定的線程的右列中查看分析。
- 同樣,可以在任何線程中選擇一個跟蹤事件以查看其分析數(shù)據(jù)。
四、設(shè)計工具
此版本的 Android Studio 包括對設(shè)計工具的更新,例如 Layout Inspector (布局檢查器)和全新的 Motion Editor 。
1、新動作編輯器
Android Studio 現(xiàn)在包括用于 MotionLayout 布局類型的可視設(shè)計編輯器,使創(chuàng)建和預(yù)覽動畫更加容易。
動作編輯器提供了一個簡單的界面,用于處理 MotionLayout 庫中的元素,這些元素是 Android 應(yīng)用中動畫的基礎(chǔ)。
在以前的版本中,創(chuàng)建和更改這些元素需要手動編輯XML資源文件中的約束?,F(xiàn)在,運動編輯器可以為您生成此XML,并支持開始和結(jié)束狀態(tài),關(guān)鍵幀,過渡和時間軸。
要了解有關(guān)如何使用運動編輯器的更多信息,請參見用戶指南。
⚠️注意:在使用 Motion 編輯器之前,請確保將文件中的 ConstraintLayout 依賴項設(shè)置 build.gradle 為 version 2.0.0-beta3 或更高版本。
2、Live Layout Inspector
使用 Live Layout Inspector 調(diào)試版式,在將應(yīng)用程序部署到設(shè)備時可提供對應(yīng)用程序UI完整的實時更新。
要打開 Layout Inspector 窗口,請轉(zhuǎn)到 View > Tools Windows > Layout Inspector。除了現(xiàn)有布局檢查器的許多相同功能外,實時布局檢查器還包括:
Dynamic layout hierarchy(動態(tài)布局層次結(jié)構(gòu)):隨著設(shè)備視圖的更改而更新。
Property values resolution stack:(屬性值解析堆棧):調(diào)查資源屬性值在源代碼中的起源,并通過遵循屬性窗格中的超鏈接導(dǎo)航到其位置。
3D view(3D視圖):在運行時通過高級 3D 可視化查看應(yīng)用程序的視圖層次結(jié)構(gòu),要使用此功能,只需在 Layout Inspector 窗口中單擊布局并旋轉(zhuǎn)它。
僅當(dāng)將應(yīng)用程序部署到運行 API級別 29 或更高版本的設(shè)備或仿真器時,才能使用 Live Layout Inspector,要啟用實時布局檢查器,請轉(zhuǎn)到File > Settings > Experimental,然后選中 Enable Live Layout Inspector 旁邊的框 ,然后,單擊 Live updates 上方 Layout Display 旁邊的復(fù)選框。
3、布局驗證
Layout Validation (布局驗證)是一種可視化工具,可用于同時預(yù)覽不同設(shè)備和配置上的布局,從而幫助檢測布局錯誤并創(chuàng)建更多可訪問的應(yīng)用程序。
用戶可以通過單擊IDE窗口右上角的 Layout Validation 選項卡來訪問此功能:
在 Layout Validation 窗口中,可以從四個不同的配置集中選擇:
- Pixel Devices :在多種像素設(shè)備上預(yù)覽應(yīng)用。
- Custom :使用自定義顯示選項(例如屏幕方向或語言)預(yù)覽應(yīng)用。
- Color Blind:使用常見色盲類型的模擬預(yù)覽應(yīng)用。
- Font Sizes:使用各種字體大小預(yù)覽應(yīng)用。
要了解有關(guān)使用布局驗證的更多信息,請參閱使用Layout Inspector調(diào)試布局(https://developer.android.com/studio/debug/layout-inspector#layout-validation )。
五、用于代碼收縮規(guī)則的智能編輯器功能
當(dāng)打開 R8 的代碼收縮規(guī)則文件時,Android Studio 現(xiàn)在提供智能編輯器功能,例如:語法突出顯示、代碼完成和錯誤檢查。該編輯器還與 Android Studio 項目集成在一起,為所有類、方法和字段提供完整的符號補全,并包括快速導(dǎo)航和重構(gòu)。
六、Kotlin Android實時模板
Android Studio 現(xiàn)在包括適用于 Kotlin 類的Android 實時模板。例如,現(xiàn)在可以鍵入 toast 并按 Tab 鍵快速插入 Toast。
有關(guān)可用實時模板的完整列表,請從菜單欄中單擊 File > Settings(或在macOS上為 Android Studio > Preferences ),然后導(dǎo)航 Editor > Live Templates。
七、Fragment wizard and new fragment templates
現(xiàn)在,當(dāng)您導(dǎo)航到File > New > Fragment > Gallery或在“導(dǎo)航”編輯器中單擊Create new destination時,即可使用“New Android Fragment wizard”向?qū)Ш托碌钠文0濉?/p>
八、在 Android 模擬器中擴展了相機支持
使用Android 11圖像時,Android Emulator相機包括以下新功能:
- RAW拍攝
- YUV后處理
- Level 3 devices
- 邏輯相機支持
九、clangd 現(xiàn)在可用于 C ++代碼編輯器
Jetbrains CLion 是支持 Android Studio C ++ 語言支持的技術(shù),現(xiàn)在使用基于 LLVM clangd 和 clang-tidy 的檢查引擎,加快了 C / C ++ 代碼的完成速度,并提供了與 clang-tidy 的更無縫集成。
現(xiàn)在,在 Android Studio C++ 代碼編輯器中可用,clangd 和 clang-tidy 都是開源LLVM額外工具的一部分:
- clangd具有代碼完成功能,在編輯器中編譯錯誤消息以及定位導(dǎo)航。
- clang-tidy是C ++ linter工具,具有可擴展的框架,用于診斷和修復(fù)典型的編程錯誤。
在以前的版本中,Android Studio 用戶可以通過 NDK 使用 clang-tidy;有了這一更改,Android Studio 不再依賴NDK的整潔功能。
十、已棄用 local.properties 文件中的ndk.dir設(shè)置
ndk.dir 不應(yīng)再在應(yīng)用程序的 local.properties 文件中 ndk.dir 設(shè)置,并且在以后的版本中將刪除對此設(shè)置的支持。
Android Gradle 插件默認(rèn)設(shè)置NDK版本,但是如果您需要NDK的特定版本,則可以 android.ndkVersion 在中設(shè)置 build.gradle 。
有關(guān)設(shè)置NDK的更多信息,請參閱[安裝和配置NDK和CMake](Install and configure the NDK and CMake)。
十一、IntelliJ IDEA 2019.3.3
核心 Android Studio IDE 已更新,并通過IntelliJ IDEA 進行了改進,直至 2019.3.3 版本。
總結(jié)
到此這篇關(guān)于Android Studio 4.0 穩(wěn)定版發(fā)布了,牛逼功能一覽的文章就介紹到這了,更多相關(guān)Android Studio 4.0 穩(wěn)定版內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
夸克PC版開啟內(nèi)測:主打夸克小工具和夸克網(wǎng)盤(附正式版下載)
夸克PC版在電腦中使用的瀏覽器工具,據(jù)悉該軟件已經(jīng)開啟內(nèi)側(cè),主打夸克小工具和夸克網(wǎng)盤,本站提供該軟件內(nèi)側(cè)地址2023-12-20Visual Studio微軟集成開發(fā)環(huán)境 2022 17.5 正式發(fā)布(附下載)
Visual Studio微軟集成開發(fā)環(huán)境 2022 17.5 正式發(fā)布,引入了多項新功能和改進,旨在提高跨不同平臺和語言的開發(fā)人員的生產(chǎn)力、性能和協(xié)作2023-02-22微軟再次提醒:IE 瀏覽器將在今年 6 月退役,請使用 Edge
IE 瀏覽器將在今年“退役”,微軟想確保每個人都知道這件事。該公司在 Windows 消息中心發(fā)布了一個新的警告,專門提醒用戶 IE 瀏覽器將于今年 6 月退役2022-03-18IntelliJ IDEA 開發(fā)商 JetBrains 宣布:無限期暫停在俄羅斯和白俄羅斯
IntelliJ IDEA 開發(fā)商 JetBrains 宣布:無限期暫停在俄羅斯和白俄羅斯的銷售,本文為大家?guī)砹嗽敿?xì)介紹,一起看看吧2022-03-14什么是個人經(jīng)營收款碼? 個人經(jīng)營收款碼最全介紹
什么是個人經(jīng)營收款碼?3月1日開始,支付寶和微信都可以使用個人經(jīng)營收款碼進行收款,那么什么是個人經(jīng)營收款碼呢?下面我們就來看看個人經(jīng)營收款碼最全介紹2022-02-24個人收款碼可以一直使用嗎? 官方:現(xiàn)行“個人收款碼”不停用
個人收款碼可以一直使用嗎?現(xiàn)在微信支付寶收款很常見,很多人都關(guān)心,微信支付波啊個人收款碼可以一直用嗎,現(xiàn)在官方給出了回復(fù),現(xiàn)行“個人收款碼”不停用,詳細(xì)請看下文2022-02-23網(wǎng)頁版 B 站導(dǎo)致 CPU 占用高的原因分析與解決方案
網(wǎng)頁版 B 站導(dǎo)致 CPU 占用高怎么辦?本文就為大家?guī)砹司W(wǎng)頁版 B 站導(dǎo)致 CPU 占用高原因分析與解決方案,需要的朋友一起看看吧2022-02-09微軟回應(yīng)刪除.NET熱重載功能:通過CLI支持Hot Reload熱重載
通過Hot Reload熱重加載,可以在應(yīng)用運行期間(在調(diào)試器下)編輯代碼,并且代碼更改將自動反映在應(yīng)用中,而不會丟失應(yīng)用狀態(tài)。換句話說,應(yīng)用程序不需要重新啟動。2022-01-06解除限速,阿里云盤、天翼云盤、360 安全網(wǎng)盤、和彩云、網(wǎng)易網(wǎng)盤等完成
據(jù)人民郵電報測試和致電了解,包括天翼云盤、和彩云、阿里云盤、360 安全網(wǎng)盤、網(wǎng)易網(wǎng)盤在內(nèi)的 5 家企業(yè)明確表示已按照工信部的要求完成無差別速率服務(wù)的改造,網(wǎng)頁端、移2021-12-22百度網(wǎng)盤企業(yè)版正式上線 開通企業(yè)套餐可享受超20項特權(quán)
百度網(wǎng)盤相信大家都是使用過的,就在最近百度網(wǎng)盤企業(yè)版正式上線了。餐收費3899元/年起,咱們就來仔細(xì)看看吧2021-09-29