[譯]Android Studio 3.6 新特性概覽


設計

設計編輯器

設計編輯器(比如佈局編輯器和導航編輯器)現在提供了一個拆分視圖模式,能夠同時查看 UI 界面的 Design 視圖和 Code 視圖。拆分視圖取代並改進了早期的預覽窗口,並且可以對每個文件進行設置,並且可以保存上下文信息,比如:縮放比例和設計視圖選項等。想要開啓拆分視圖,單擊編輯器窗口右上角的拆分圖標即可。相關文檔:https://medium.com/androiddevelopers/android-studio-design-tools-ux-changes-split-view-dcde75e88a0c

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Cwkt40DF-1594026855681)(https://i.loli.net/2020/02/25/mkap597TiAXQERI.gif)]

顏色資源選擇器

在這個版本中,通過顏色資源選擇器可以快速的在應用程序中選擇和替換顏色資源值。在設計工具和 XML 編輯器都可以使用顏色資源選擇器。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Um3Glkme-1594026855684)(https://i.loli.net/2020/02/25/J4CzUxbaDtmOXLF.png)]

開發

View binding

View binding 是一個新特性,它通過在代碼中引用視圖時提供編譯時安全性,使我們能夠更容易地編寫與視圖交互的代碼。如果啓用,視圖綁定將爲模塊中的每個 XML 佈局文件生成綁定類。在大多數情況下,視圖綁定取代 findViewById 方法。我們可以在代碼中引用所有具有 ID 的 view,但不會有空指針或類強制轉換的錯誤風險。這些差異意味着佈局和代碼之間的不兼容將導致編譯時而不是運行時的構建失敗。要在項目中啓用視圖綁定,請在每個模塊的 build.gradle 文件中包含以下內容:

android {
    viewBinding.enabled = true
}

一位 GDE 寫的 View binding 相關 blog:https://medium.com/google-developer-experts/exploring-view-binding-on-android-44e57ba11635

Android NDK 更新

以下 Android Studio 中的 NDK 特性,以前在 Java 中支持,現在在 Kotlin 也支持:

  • 從 JNI 聲明跳轉到 C/C++ 中相應的實現函數。通過將鼠標懸停在源代碼文件中靠近行號的 C/C++ 項標記上來查看函數的映射
  • 爲 JNI 聲明自動創建一個 stub 實現函數。首先定義 JNI 聲明,然後在 C/C++ 文件中輸入“ JNI” 或方法名稱來激活

更多詳細信息:https://developer.android.google.cn/studio/preview/features/#3.6-ndk-updates

IntelliJ Platform 更新

Android Studio 包含 IntelliJ 2019.2 版本的所有特性。 這個 IntelliJ 版本包括許多改進,從新的服務工具窗口到大大改進的啓動時間。更多詳情:https://blog.jetbrains.com/idea/2019/07/intellij-idea-2019-2-java-13-preview-features-profiling-tools-services-tool-window-and-more/

Add classes with Apply Changes

現在可以添加一個類,然後通過單擊 Apply Code ChangesApply Changes and Restart Activity 按鈕將代碼變更部署到正在運行的應用程序中。關於 Apply Cahnges 的更多詳情:https://developer.android.google.cn/studio/run#apply-changes

構建

Android Gradle 插件更新

Android Gradle 插件 3.6 以及更高版本包括對 Maven Publish Gradle 插件的支持,這個插件可以讓我們將構建產物發佈到 Apache Maven 倉庫中。Android Gradle 插件爲應用程序或庫模塊中的每一個 build variant 創建一個組件,我們可以使用該組件將構建產物發佈到自定義的 Maven 倉庫中。這一變更將使我們更容易地管理各種 targets 的發佈週期。更多詳情:https://developer.android…google.cn/studio/releases/gradle-plugin#maven-publish

新的打包工具

Android 構建團隊一直在努力的改進構建性能,在這個版本中,將開發調試模式時的默認打包工具改爲了 zipflinger。這樣在調試開發的時候構建速度將會有所提高,但是我們也可以在gradle.properties 文件中設置 android.useNewApkCreator=false 來改用舊的打包工具。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-gJUPFLSd-1594026855687)(https://i.loli.net/2020/02/27/KLMDn5tNsX2aVUu.jpg)]

Test

Android 模擬器-谷歌地圖界面

Android Emulator 29.2.12 爲 App 開發人員提供了一種新的操縱模擬設備位置的新方法。在擴展控件菜單中嵌入了谷歌地圖用戶界面,方便開發人員更容易地指定位置,也可以根據兩個地點位置創建導航路線。而且單個一個位置還可以保存並重新作爲虛擬位置發送到模擬器,路線導航也可以通過輸入地址或單擊兩個點來生成。這些路線導航可以可以實時回放,路線導航沿線的位置信息也會被髮回到模擬器的系統內。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-M8qZGM4i-1594026855690)(https://i.loli.net/2020/02/27/BU4Ry1OKb9fVTSE.gif)]

多個屏幕支持

Emulato 29.1.10 更新了對多個虛擬屏幕的初步支持。隨着越來越多的設備可以使用多個屏幕,在多種屏幕配置上測試你的應用程序是非常重要的。可以通過設置菜單(擴展控件設置)配置多個屏幕。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-embZndVq-1594026855691)(https://i.loli.net/2020/02/27/rEKXoY7mzqekQ9M.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-BVidqibS-1594026855692)(https://i.loli.net/2020/02/27/Vri7GNcpKSEaoxA.png)]

斷點續傳下載 SDK

當使用 Android Studio SDK Manager 下載 Android SDK 組件和工具時,Android Studio 現在可以繼續之前中斷的下載(例如,由於網絡問題) ,而不是從頭重新下載。在網絡連接不可靠的情況下,這個更新對需要下載大的 SDK 組件和工具時非常有幫助,比如 Android 模擬器或系統映像。

暫停並繼續 SDK 下載

In-place updates for imported APKs

Android Studio 允許我們導入外部構建的 APKs 來調試和分析它們。以前,當對這些 apk 進行更改時,我們必須再次手動導入它們並且需要重新添加符號表和源代碼。Android Studio 3.6 現在可以自動檢測導入的 APK 文件所做的更改,並且會提供一個重新導入該文件的選項。

Attach Kotlin sources to imported APKs

我們增加了對將 Kotlin 源文件附加到導入的 apk 的支持。 要了解更多信息,請參見 Attach Kotlin/Java 源代碼。

將 Kotlin/Java 源代碼附加到導入的 APKs

優化

在內存分析器中檢測內存泄漏

根據反饋,Android Studio 開發團隊在內存分析器中添加了檢測可能泄漏的活動和片段實例的功能。首先,在內存分析器中捕獲或導入堆轉儲文件,然後選中 activity/fragments Leaks 複選框就會生成檢測結果。相關文檔:https://developer.android.google.cn/studio/profile/memory-profiler#profiler-memory-leak-detection

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-SrnKknkL-1594026855696)(https://i.loli.net/2020/02/27/fZ2pEQTJr3sVq1t.png)]

Deobfuscate class and method bytecode in APK Analyzer

當使用 APK 分析器檢查 DEX 文件時,現在可以對類和方法字節碼進行去混淆處理。 在 DEX 文件查看器中,加載正在分析的 APK 的 ProGuard 映射文件。 加載後,就可以通過右鍵單擊要檢查的類或方法,然後選擇 Show Bytecode 來去除混淆。

在 APK 分析器中通過選擇 Show Bytecode 來消除類和方法字節碼的混淆

作者:Scott Swarthout 原文地址:https://android-developers.googleblog.com/2020/02/android-studio-36.html

199元學習大禮包:點擊領取
原文地址:https://androidweekly.io
版權聲明:禁止一切形式的轉載-禁止商用-禁止衍生
公衆號:Android開發技術週刊
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-x93VYTss-1594026855698)(https://i.loli.net/2020/02/28/CF2DihIBdQUp3e7.jpg)]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章