Android Studio 3.6 穩(wěn)定版發(fā)布

作者 / Scott Swarthout, Product Manager

我們很高興為大家?guī)?Android Studio 3.6?的穩(wěn)定版本,該版本提供的功能與特性旨在提升代碼編輯和調(diào)試場景中的品質(zhì)。已經(jīng)結(jié)束的?Project Marble?聚焦于夯實集成開發(fā)環(huán)境 (IDE) 的功能和流程基礎(chǔ),而 Android Studio 3.6 則是 Project Marble 之后的第一個版本。我們從 Project Marble 中學(xué)到了很多,在 Android Studio 3.6 中,我們引入了一些新功能,完善了既有功能,并且投入了很大的精力來修復(fù)錯誤及改善基礎(chǔ)性能,以確保我們達(dá)到去年設(shè)定的高質(zhì)量標(biāo)準(zhǔn)。

Android Studio 3.6 的一些亮點包括:?使用 XML 快速設(shè)計、開發(fā)和預(yù)覽應(yīng)用布局的新方式,以及設(shè)計編輯器中新加入的分割視圖 (Split View) 。我們將 Google Maps 直接嵌入到了 Android Emulator 的擴(kuò)展控制面板中,因此現(xiàn)在您無需手動輸入 GPS 坐標(biāo)即可在應(yīng)用中測試位置。最后,我們通過自動檢測 Fragment 和 Activity 的內(nèi)存泄漏,讓優(yōu)化應(yīng)用和查找錯誤變得更加容易。希望這些功能可以讓您在 Android 上進(jìn)行開發(fā)時更愉快和高效。

我們要感謝那些在預(yù)覽版本階段提供早期反饋的開發(fā)者們,正是大家的反饋讓我們得以迭代和改進(jìn) Android Studio 3.6 中的功能。如果您已經(jīng)準(zhǔn)備好使用這個全新的穩(wěn)定版本,及其帶來的全新生產(chǎn)力功能,請即刻下載?Android Studio 3.6。?

接下來我們會按照主要的開發(fā)流程為大家逐一介紹 Android Studio 3.6 的新功能。



Android Studio 3.6 的新功能_騰訊視頻

騰訊視頻鏈接:

https://v.qq.com/x/page/p0932212o0c.html

Bilibili 視頻鏈接:

https://www.bilibili.com/video/av95444110/

設(shè)計

設(shè)計編輯器中的分割視圖 (Split View)

設(shè)計編輯器 (如 Layout Editor 和 Navigation Editor) 現(xiàn)在新增了分割 (Split) 視圖,使您可以同時查看 UI 的設(shè)計視圖和代碼視圖。分割視圖由早先的預(yù)覽窗口 (Preview window) 改進(jìn)而來,并且可以按文件單獨配置以保留上下文信息,包括縮放比例和設(shè)計視圖選項等,這樣您就可以為每一種用例選擇最適合的視圖。想要啟用分割視圖,請單擊編輯器窗口右上角的 "Split" 圖標(biāo)。?


△ 設(shè)計編輯器中的 "分割視圖 (Split View)"

如果您想了解更多關(guān)于 Android Studio 3.6 版本中加入的 Split View,請參閱: 《Android Studio Design Tools 中的 UX 更改 — Split View》。

顏色選擇器資源選項卡

在 Android Studio 3.6 中,我們希望使您更容易應(yīng)用那些被定義為 "顏色資源" 的顏色。因此現(xiàn)在顏色選擇器將加載并給出應(yīng)用中的顏色資源,方便您快速選擇和替換顏色。您可以在設(shè)計工具和 XML 編輯器中訪問顏色選擇器。

△ 顏色選擇器資源選項卡


開發(fā)

視圖綁定 (View Binding)

視圖綁定可以在代碼引用視圖時提供編譯時安全性,讓您得以更輕松地編寫與視圖交互的代碼。在啟用后,視圖綁定將為該模塊中存在的每個 XML 布局文件生成一個綁定類。在大多數(shù)情況下,視圖綁定會替代 findViewById。您可以引用所有擁有 ID 的視圖,而不會遭遇 null pointer exception 或 class cast exception。這些變化意味著,布局和代碼之間的不兼容而導(dǎo)致的錯誤將在 "編譯時" 而不是 "運(yùn)行時" 發(fā)生。如要在項目中啟用視圖綁定,請在每個模塊的 build.gradle 文件中添加以下內(nèi)容:

android {

viewBinding { enabled=true?

?? }

}

了解更多視圖綁定的信息,請關(guān)注:《使用視圖綁定替代 findViewById》,或參閱我們的一位開發(fā)專家撰寫的博客文章。?

Android NDK 更新

Android Studio 中的以下 NDK 功能以前在 Java 語言中受支持,現(xiàn)在也在 Kotlin 中受支持:

從 JNI 聲明轉(zhuǎn)到 C/C++ 中的對應(yīng)實現(xiàn)函數(shù)。只需將鼠標(biāo)懸停在托管源代碼文件中的行號附近的 C 或 C++ 項標(biāo)記上方,即可查看此映射。

自動為 JNI 聲明創(chuàng)建樁實現(xiàn)函數(shù)。首先定義 JNI 聲明,然后輸入 "jni" 或 C/C++ 文件中的方法名稱進(jìn)行激活。

了解更多:

Android Studio 3.6 中的 NDK 更新

https://developer.android.google.cn/studio/preview/features/#3.6-ndk-updates

IntelliJ 平臺更新

Android Studio 3.6 包含 IntelliJ 2019.2 平臺版本。這個 IntelliJ 版本提供了大量改進(jìn),包括新服務(wù)工具窗口、大幅優(yōu)化啟動時間等。查閱相關(guān)文檔了解更多。?

IntelliJ IDEA 2019.2

https://blog.jetbrains.com/idea/2019/07/intellij-idea-2019-2-java-13-preview-features-profiling-tools-services-tool-window-and-more/

通過 Apply Changes 添加類

您現(xiàn)在可以通過兩項簡易操作來添加一個類,然后將該代碼更改部署到正在運(yùn)行的應(yīng)用中 ——?點擊 Apply Code Changes 按鈕或 Apply Changes and Restart Activity 按鈕。要詳細(xì)了解這兩項操作之間的區(qū)別,請參閱應(yīng)用更改。?

構(gòu)建

Android Gradle 插件 (AGP) 更新

Android Gradle 插件 3.6 及更高版本支持 Maven Publish Gradle 插件,可讓您將構(gòu)建工件發(fā)布到 Apache Maven 代碼庫。Android Gradle 插件會為應(yīng)用或庫模塊中的每個構(gòu)建變體工件創(chuàng)建一個組件,您可以使用它來自定義要發(fā)布到 Maven 代碼庫的發(fā)布內(nèi)容。這項更改將讓您可以更輕松地管理各種目標(biāo)的發(fā)布生命周期。

了解更多:?

Maven Publish Gradle 插件

https://developer.android.google.cn/studio/releases/gradle-plugin#maven-publish

此外,Android Gradle 插件在大型項目的注解處理 / KAPT 中實現(xiàn)了顯著的性能提升。這是因為 AGP 現(xiàn)在直接生成 R 類的字節(jié)碼,而不是 .java 文件。

新打包工具

Android 構(gòu)建團(tuán)隊一直在不斷進(jìn)行改進(jìn),以提高構(gòu)建性能,在這個版本中,我們把測試構(gòu)建默認(rèn)的打包工具改為?zipflinger。用戶應(yīng)該會看到構(gòu)建速度有所提高,但是您也可以在 gradle.properties 文件中設(shè)置 android.useNewApkCreator=false 從而繼續(xù)使用原來的打包工具。

△?編輯 gradle.properties 文件以禁用新的打包工具??

測試

Android 模擬器 - Google Maps UI

Android 模擬器 29.2.12 為應(yīng)用開發(fā)者提供了一種全新的模擬輸入設(shè)備位置的方法。我們將 Google Maps 用戶界面嵌入到了擴(kuò)展控件菜單中,方便您更容易地輸入位置,以及通過兩個位置點生成路線。您可以保存各個位置點,并將其作為虛擬位置重新發(fā)送到設(shè)備,您還可以通過鍵入地址或點擊兩個點來生成路線。這些路線可以實時重播,因為路線上的位置也被發(fā)送到了模擬器里的操作系統(tǒng)中。

△ Android 模擬器位置 UI 中的實時位置流??

支持多顯示屏

Android 模擬器 29.1.10 版本中包含了對多顯示屏 (Multi-display) 的初步支持。隨著多屏設(shè)備的不斷涌現(xiàn),為您的應(yīng)用測試多顯示屏的配置變得十分重要,您可以通過模擬器的 Extended controls 窗口,選擇 Settings 選項來設(shè)置多屏幕。

△ Android 模擬器中的多顯示屏支持??
△ 在 Android 模擬器擴(kuò)展控件面板中配置輔助的顯示屏??

可恢復(fù)的 SDK 下載

在使用 Android Studio SDK 管理器下載 Android SDK 組件和工具時,Android Studio 現(xiàn)在允許您恢復(fù)已中斷的下載 (例如,由于網(wǎng)絡(luò)問題),而不是從頭開始重新下載。當(dāng)互聯(lián)網(wǎng)連接不可靠時,此增強(qiáng)功能對大量數(shù)據(jù)的下載 (如 Android 模擬器或系統(tǒng)映像) 特別有用。

△ 暫停和恢復(fù) SDK 下載

就地更新導(dǎo)入的 APK

Android Studio 允許您導(dǎo)入外部構(gòu)建的 APK,并對其進(jìn)行調(diào)試和分析。以前,對這些 APK 進(jìn)行更改后,您需要再次手動將其導(dǎo)入,并重新附加符號和代碼。Android Studio 3.6 現(xiàn)在可以自動檢測對導(dǎo)入的 APK 文件所做的更改,并提供就地重新導(dǎo)入的選項。

將 Kotlin 源代碼附加到導(dǎo)入的 APK

現(xiàn)在支持將 Kotlin 源文件附加到導(dǎo)入的 APK。要了解更多信息,請參閱附加 Kotlin/Java 代碼

△ 將 Kotlin/Java 代碼附加到導(dǎo)入的 APK??

優(yōu)化

Memory Profiler 中的泄漏檢測

根據(jù)大家的反饋,我們在 Memory Profiler 中添加了泄漏檢測功能,用于檢測可能泄漏的 Activity 和 Fragment 實例。首先,請在 Memory Profiler 中捕獲或?qū)攵艳D(zhuǎn)儲文件,然后勾選 "Activity/Fragment Leaks" 以生成結(jié)果。想要進(jìn)一步了解 Android Studio 如何檢測泄漏,請參閱我們的官方文檔。

△ 在 Memory Profiler 中檢測泄漏的 Activity 和 Fragment??

在 APK 分析器中對類和方法字節(jié)碼進(jìn)行去混淆處理

現(xiàn)在,當(dāng)您使用 APK 分析器檢查 DEX 文件時,您可以對類和方法字節(jié)碼進(jìn)行去混淆處理。在 DEX 文件查看器中,為要分析的 APK 加載 ProGuard 映射文件。加載完成后,右鍵點擊您要檢查的類或方法,然后選擇 Show Bytecode 即可。

△ 在 APK 分析器中選擇 Show Bytecode 對類和方法字節(jié)碼進(jìn)行去混淆處理??

了解更多:?

APK 分析器

https://developer.android.com/studio/build/apk-analyzer

??這里讓我們快速回顧一下 Android Studio 3.6 中新增的改進(jìn)及功能:

設(shè)計

設(shè)計編輯器中的 Split View

拾色器資源選項卡

開發(fā)

視圖綁定

Android NDK 更新

IntelliJ 平臺更新

通過 Apply Changes 添加類

構(gòu)建

Android Gradle 插件 (AGP) 更新

新打包工具

測試

Android 模擬器 - Google Maps UI

多顯示屏支持

可恢復(fù)的 SDK 下載

就地更新導(dǎo)入的 APK

將 Kotlin 代碼附加到導(dǎo)入的 APK

優(yōu)化

Memory Profiler 中的泄漏檢測

在 APK 分析器中對類和方法字節(jié)碼進(jìn)行去混淆處理

即刻開始

下載

請前往下載頁面下載 Android Studio 3.6。如果您使用的是之前版本的 Android Studio,則只需將其更新為最新版本即可。要使用文中提到的 Android 模擬器功能,請通過 Android Studio SDK 管理器下載并運(yùn)行 Android Emulator v29.2.12 或以上版本。?

和以往一樣,我們歡迎大家向我們反饋您喜歡的特性、發(fā)現(xiàn)的問題或者想要的功能。如果您發(fā)現(xiàn)了錯誤或問題,請隨時告知我們。

點擊這里即刻體驗Android Studio 3.6

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容