作者:Jamal Eason,Android?產(chǎn)品經(jīng)理
點(diǎn)擊這里即刻下載 Android Studio 3.2。Android Studio 3.2 是應(yīng)用開發(fā)者切入最新的?Android 9 Pie 發(fā)布版和構(gòu)建新的Android App Bundle?的最佳途徑俊犯。自從 2018 年 Google I/O 大會(huì) Android Studio 宣布更新后帽衙,我們精煉和完善了 20 多項(xiàng)新功能,并集中力量提升 Android Studio 3.2 穩(wěn)定版的質(zhì)量纸巷。
每一位開發(fā)者都應(yīng)該使用 Android Studio 3.2 來過渡到使用新應(yīng)用發(fā)布格式?Android App Bundle镇草。只需極少的工作,就能用 Android Studio 生成一個(gè) App Bundle瘤旨。將 App Bundle 上傳到 Google Play 后即可向用戶分發(fā)更小的優(yōu)化后應(yīng)用梯啤。早期采用者已證實(shí) App Bundle 比舊的 APK 應(yīng)用尺寸減少了 11% - 64%。
另一個(gè)您不想錯(cuò)過的功能是 Energy Profiler (電量分析器)存哲。新分析器提供一套工具幫助診斷和改善應(yīng)用的能耗因宇。更長(zhǎng)的設(shè)備電池壽命一直是用戶最關(guān)心的一方面,而利用 Android Studio 3.2 中的電量監(jiān)測(cè)器祟偷,您可以通過確保應(yīng)用在正確的時(shí)間使用適當(dāng)?shù)碾娏坎旎瑤椭纳圃O(shè)備電池壽命。
您還應(yīng)該試試新的 Android 模擬器 Snapshots 快照功能修肠。利用這個(gè)功能贺辰,您可以將模擬器的當(dāng)前狀態(tài)快速生成一張快照,包括屏幕、應(yīng)用和設(shè)置的當(dāng)前狀態(tài)饲化。您能夠在 2 秒內(nèi)恢復(fù)或引導(dǎo)到您的模擬器快照莽鸭。對(duì)于任何一位尋求超快引導(dǎo)時(shí)間或?qū)で笤谝粋€(gè)預(yù)期的 Android 環(huán)境中運(yùn)行測(cè)試的應(yīng)用開發(fā)者而言,Android 模擬器快照都是應(yīng)用開發(fā)的一項(xiàng)革命性功能吃靠。
除了這些重磅功能外蒋川,Android Studio 3.2 中有 20 項(xiàng)新功能以及許多內(nèi)部的質(zhì)量改進(jìn)。利用 Android Studio 3.2撩笆,您還可以通過Android Slices針對(duì)最新技術(shù)進(jìn)行開發(fā),從?Android Jetpack缸浦,到與 Google AI 無縫整合夕冲。
感謝為 canary 和 beta 版提供早期反饋的開發(fā)者們。您們的反饋幫我們改進(jìn)了 Android Studio 3.2 的質(zhì)量和功能裂逐。如果您已經(jīng)準(zhǔn)備好迎接下一個(gè)穩(wěn)定版歹鱼,并希望使用各種新的生產(chǎn)力特性,Android Studio 3.2 已經(jīng)準(zhǔn)備就緒可以下載了卜高。
下面是 Android Studio 3.2 新特性完整列表弥姻,按關(guān)鍵開發(fā)者流程組織。
開發(fā)
>>? Slices 支持 - Slices 是一種接入內(nèi)置 Android AI 功能的新方式掺涛,能夠在 Google 搜索和 Google 智能助理中呈現(xiàn)應(yīng)用內(nèi)容庭敦。Android Studio 3.2 有一個(gè)內(nèi)置模板可以幫您用新的 Slice Provider API 來擴(kuò)展您的應(yīng)用,以及新的 Lint 檢查來確保您在構(gòu)建 Slice 時(shí)遵循最佳實(shí)踐薪缆。如需使用秧廉,在項(xiàng)目文件夾上右鍵,依次選擇 “New→ Other→ Slice Provider”拣帽。
>> 樣本數(shù)據(jù) - 這個(gè)特性允許您使用占位符數(shù)據(jù)協(xié)助設(shè)計(jì)應(yīng)用疼电。這將幫助您根據(jù)運(yùn)行時(shí)環(huán)境數(shù)據(jù)將布局可視化。通過 “布局編輯器” 中的一個(gè)彈出窗口减拭,您可以為各種視圖添加內(nèi)置樣本數(shù)據(jù)蔽豺,如 RecyclerView、ImageView 和 TextView拧粪。
>>? Material Design 更新 - 當(dāng)您從 Android Design 支持庫遷移到新的 MaterialComponents 應(yīng)用主題和庫時(shí)修陡,Android Studio 3.2 將為您提供新的和更新的小部件,如:BottomAppBar既们、按鈕濒析、卡片、文本域啥纸、新字體樣式等号杏。?
>>? CMakeList 編輯支持 - 對(duì)于在應(yīng)用中使用 C/C++ 的開發(fā)者,Android Studio 優(yōu)化了對(duì) Cmake 的支持。在 Android Studio 3.2 里盾致,代碼補(bǔ)全和語法高亮現(xiàn)在都對(duì)一般 CMakeList 構(gòu)建腳本命令有效主经。
>>? 更新助理 - Android Studio 3.2 有一個(gè)新的助理面板,每次更新后會(huì)自動(dòng)打開來通知您關(guān)于 IDE 的最新變化庭惜。您也可以通過依次選擇 “Help → What's New in Android Studio” 來打開這個(gè)面板罩驻。
>>? AndroidX 重構(gòu)支持 - Android Jetpack 的組件之一是引入了 Android 擴(kuò)展庫(AndroidX)替換了 Android 支持庫。如需添加 AndroidX 到一個(gè)新項(xiàng)目护赊,需要添加 android.useAndroidX=true 到 gradle.properties 文件惠遏。此外,Android Studio 3.2 有一個(gè)新的內(nèi)置重構(gòu)動(dòng)作以幫助您將項(xiàng)目遷移到新的命名空間和依賴骏啰。而且如果您有任何 Maven 依賴尚未遷移到 AndroidX 命名空間节吮,Android Studio 構(gòu)建系統(tǒng)將自動(dòng)轉(zhuǎn)換這些項(xiàng)目依賴。
>>? IntelliJ 平臺(tái)更新 - Android Studio 3.2 包含了 IntelliJ 2018.1.6 平臺(tái)發(fā)布判耕。這個(gè) IntelliJ 版本大幅改進(jìn)了數(shù)據(jù)流分析透绩、調(diào)試、新檢測(cè)壁熄、行內(nèi)外部注釋帚豪、Git 部分提交等等。
>>? Kotlin 更新 - Android Studio 3.2 捆綁了 Kotlin 1.2.61草丧,支持 Kotlin 友好的 Android 9 Pie SDK狸臣。
構(gòu)建
>>? Android App Bundle?- Android App Bundle?是新的應(yīng)用發(fā)布格式,旨在幫您向用戶提供更小的 APK 并降低應(yīng)用的下載大小方仿。Google Play 名為 Dynamic Delivery “動(dòng)態(tài)交付” 的新應(yīng)用服務(wù)模式會(huì)處理您的 App Bundle固棚,針對(duì)每個(gè)用戶的設(shè)備配置生成并服務(wù)優(yōu)化后的 APK猜敢,從而讓用戶只需下載其需要的代碼和資源就能運(yùn)行您的應(yīng)用锈拨。利用 Android Studio 3.2 或通過 命令行可以輕松將您的代碼構(gòu)建為一個(gè) App Bundle算芯,并根據(jù)語言涎显、屏幕密度和 ABI 縮減 APK 大小旨剥,且應(yīng)用代碼不會(huì)改變茎辐。
>> D8 Desugaring - 某些情況下框杜,新的 Java 語言特性要求新的字節(jié)碼和語言 API双炕。但較舊的 Android 設(shè)備可能不支持這些特性贾节。Desugaring允許您通過在構(gòu)建過程中將新字節(jié)碼和語言 API 替換為舊版汁汗,從而在較舊的設(shè)備上使用這些特性。D8 Desugaring 在 Android Studio 3.2 中默認(rèn)啟用栗涂,現(xiàn)在您可以使用大多數(shù)最新的語言變更知牌,同時(shí)針對(duì)較舊的目標(biāo)設(shè)備。
>> R8 優(yōu)化器 - 從 Android Studio 3.2 開始斤程,我們將逐漸使用 R8 替代 ProGuard 來優(yōu)化和縮減 Java 語言字節(jié)碼角寸。R8 仍處于實(shí)驗(yàn)階段,因此我們尚不推薦您使用 R8 發(fā)布您的應(yīng)用,但現(xiàn)在很適合向 Android Studio 團(tuán)隊(duì)提交早期反饋扁藕,以便我們?cè)?R8 正式取代 ProGuard 前進(jìn)行調(diào)整沮峡。
測(cè)試
>> 模擬器 Snapshots - 最新版的 Android 模擬器允許您將模擬器的當(dāng)前狀態(tài)創(chuàng)建一份快照,并在 2 秒內(nèi)引導(dǎo)和切換到任何快照亿柑⌒细恚基于 Android 模擬器 Quickboot 特性構(gòu)建的 Android 快照穩(wěn)定版能夠更快保存和加載,這主要得益于內(nèi)部的速度改進(jìn)優(yōu)化望薄。 在測(cè)試和開發(fā)應(yīng)用時(shí)疟游,Android 快照允許您預(yù)配置一個(gè)擁有您想要的預(yù)設(shè)、應(yīng)用痕支、數(shù)據(jù)和設(shè)置的 Android 虛擬設(shè)備(AVD)快照乡摹,并反復(fù)回到同樣的快照。
>>? Microsoft? Hyper-V? 支持 - 現(xiàn)在您可以在 Windows? 10 啟用了 Hyper-V 的電腦上運(yùn)行 Android 模擬器采转。Intel HAXM 仍是默認(rèn)的 hypervisor,能夠提供最快的 Android 模擬器體驗(yàn)瞬痘。但得益于微軟近年的開源貢獻(xiàn)故慈,以及新 Windows Hypervisor Platform (WHPX) API 的加入,Android 模擬器能夠與其他使用 Hyper-V 的應(yīng)用共存框全,如:使用新 Hyper-V 支持的本地虛擬機(jī)察绷。
>>? AMD? 處理器支持 - 現(xiàn)在 Windows 10 上的 Android 模擬器支持 AMD 處理器。以前 AMD 處理器運(yùn)行 Windows 時(shí)津辩,Android 模擬器只能進(jìn)行緩慢的軟件模擬拆撼,但現(xiàn)在使用 AMD 處理器的開發(fā)者擁有了硬件加速性能。
>>? Android 模擬器中的錄屏 - 現(xiàn)在您可以使用 Android 模擬器中新增的錄屏功能在任何 Android API Level 錄制屏幕和音頻喘沿。過去闸度,受 Android 模擬器支持的限制,物理 Android 設(shè)備上的錄屏只能在 Android 4.4 KitKat (API 19) 及以上進(jìn)行蚜印,且沒有音頻莺禁。利用最新的 Android 模擬器 (v28.0.+) 您將不再受此限制。此外窄赋,還內(nèi)置了轉(zhuǎn)換器哟冬,支持輸出為 GIF 和 WebM。您可以通過 Android 模擬器擴(kuò)展控制面板忆绰、命令行和從 Android Studio 中觸發(fā)新的錄屏特性浩峡。
>>? Android 模擬器的虛擬場(chǎng)景攝像頭 - Android 模擬器的新虛擬場(chǎng)景攝像頭,能夠幫您為 Google 構(gòu)建虛擬現(xiàn)實(shí)體驗(yàn)的平臺(tái) ARCore 進(jìn)行開發(fā)错敢。模擬器經(jīng)校準(zhǔn)翰灾,可使用 ARCore API 用于 AR 應(yīng)用,還允許您注入虛擬場(chǎng)景位圖圖像。該虛擬場(chǎng)景攝像頭還可以用作兼容 HAL3 的攝像頭预侯。
>>? ADB 連接助手 - Android Studio 3.2 有一個(gè)新的助手系統(tǒng)致开,能幫助解決 Android ADB 設(shè)備連接問題。ADB 連接助手會(huì)引導(dǎo)您進(jìn)行一般的解決步驟萎馅,以將您的 Android 設(shè)備連接到您的開發(fā)機(jī)双戳。您可以通過 “運(yùn)行” 對(duì)話框或依次選擇 “Tools → Connect Assistant” 來觸發(fā)助手。
優(yōu)化
>>? Energy 分析器 - 許多手機(jī)用戶都十分關(guān)心電池壽命糜芳,而您的應(yīng)用對(duì)電池壽命的影響可能超出您的預(yù)期飒货。Android Studio 性能監(jiān)測(cè)器套件中的電量監(jiān)測(cè)器能夠幫您了解您的應(yīng)用對(duì) Android 設(shè)備電量的影響。現(xiàn)在您能夠以可視化的方式估計(jì)系統(tǒng)組件的用電情況峭竣,還能檢查可能耗盡電池的后臺(tái)事件塘辅。要使用電量監(jiān)測(cè)器,請(qǐng)確保您已經(jīng)連接到一部運(yùn)行 Android 8.0 Oreo (API 26)或更高級(jí)系統(tǒng)的 Android 設(shè)備或模擬器皆撩。
>>? System Trace 系統(tǒng)跟蹤?-?CPU 監(jiān)測(cè)器中的新 “系統(tǒng)跟蹤” 特性允許您查看您的應(yīng)用與系統(tǒng)資源交互的詳情扣墩。查看您的線程狀態(tài)的精確時(shí)序和持續(xù)時(shí)間,以可視化方式查看您的 CPU 各核心的瓶頸扛吞,以及添加定制跟蹤事件以供分析呻惕。要使用系統(tǒng)跟蹤,開始監(jiān)測(cè)您的應(yīng)用滥比,點(diǎn)擊進(jìn)入 CPU 監(jiān)測(cè)器亚脆,然后選擇 “系統(tǒng)跟蹤” 記錄配置。
>>? Profiler Sessions - 現(xiàn)在我們能夠自動(dòng)將監(jiān)測(cè)器數(shù)據(jù)保存為 “會(huì)話” 以便之后打開 Android Studio 時(shí)再次訪問和查看盲泛。我們還新增了導(dǎo)入和導(dǎo)出 CPU 記錄和堆轉(zhuǎn)儲(chǔ)的功能濒持,以便之后用其他工具分析或查看。
>>? 自動(dòng) CPU 記錄 - 現(xiàn)在您可以使用調(diào)試 API 自動(dòng)記錄 CPU 活動(dòng)寺滚。在您將您的應(yīng)用部署到一部設(shè)備之后柑营,當(dāng)您的應(yīng)用調(diào)用 startMethodTracing(String tracePath) 時(shí)監(jiān)測(cè)器會(huì)自動(dòng)開始記錄 CPU 活動(dòng),而當(dāng)您的應(yīng)用調(diào)用 stopMethodTracing() 時(shí)會(huì)停止記錄村视。類似地由境,現(xiàn)在您還可以通過在您的運(yùn)行配置里啟用 “啟動(dòng)時(shí)開始記錄方法跟蹤” 選項(xiàng),在應(yīng)用啟動(dòng)時(shí)自動(dòng)開始記錄 CPU 活動(dòng)蓖议。
>>? JNI 引用追蹤 - 如果您的 Android 應(yīng)用中有 C/C++ 代碼虏杰,現(xiàn)在 Android Studio 3.2 允許您在內(nèi)存監(jiān)測(cè)器中查看您的 JNI 代碼的內(nèi)存分配。只要您將您的應(yīng)用部署到一部運(yùn)行 Android 8.0 Oreo(API 26)或更高級(jí)系統(tǒng)的設(shè)備上勒虾,您就可以從您的 JNI 引用中下鉆查詢分配調(diào)用堆棧纺阔。要使用該功能,啟動(dòng)一個(gè)內(nèi)存監(jiān)測(cè)器會(huì)話修然,并從 Live Allocation 下拉菜單中選擇 JNI 堆笛钝。
新版本重點(diǎn)特性總結(jié)
最新版 Android Studio 3.2 Canary 包含:
開發(fā)
>>?AndroidX 重構(gòu)
>>?樣本數(shù)據(jù)
>>?Material Design 更新
>>?Android Slices
>>?CMakeList 編輯
>>?新助理
>>?新 Lint 檢查
>>?Intellij 平臺(tái)更新
>>?Kotlin 更新
構(gòu)建
>>?Android App Bundle
>>?D8 Desugaring
>>?R8 優(yōu)化器
測(cè)試
>>?Android 模擬器截圖
>>?Android 模擬器中的錄屏
>>?虛擬場(chǎng)景 Android 模擬器攝像頭
>>?AMD 處理器支持
>>?Hyper-V 支持
>>?ADB 連接助手
優(yōu)化
>>?電量分析器
>>?系統(tǒng)跟蹤
>>?監(jiān)測(cè)器會(huì)話
>>?自動(dòng) CPU 記錄
>>?JNI 引用追蹤
開始使用
點(diǎn)擊這里质况,下載最新版 Android Studio 3.2。如果您正在使用舊的 Android Studio Canary 版玻靡,請(qǐng)確保更新到 Android Studio Canary 14 或更高版本结榄。如果您想保持一個(gè)穩(wěn)定版的 Android Studio,您可以同時(shí)運(yùn)行 Android Studio 的穩(wěn)定發(fā)布版和 Canary 發(fā)布版囤捻。
要使用上述的 Android 模擬器特性臼朗,請(qǐng)確保您正在運(yùn)行通過 Android Studio SDK 管理器下載的最新版 Android 模擬器 v28.0.7 或更高版本。
我們感謝您的任何反饋蝎土、問題以及您希望看到的特性视哑。請(qǐng)注意,要保持高產(chǎn)品質(zhì)量誊涯,您在早期發(fā)布通道見過的一些特性(如:導(dǎo)航編輯器)并未在穩(wěn)定發(fā)布通道默認(rèn)啟用挡毅。如果您發(fā)現(xiàn) bug 或其他問題,歡迎您向我們反饋暴构,或在文章下方留言給我們跪呈。