設計 設計編輯器 設計編輯器(比如佈局編輯器和導航編輯器)現在提供了一個拆分視圖模式,能夠同時查看 UI 界面的 Design 視圖和 Code 視圖。拆分視圖取代並改進了早期的預覽視窗,並且可以對每個文件進行設置,並且可以保存上下文信息,比如:縮放比例和設計視圖選項等。想要開啟拆分視圖,單擊編輯器 ...
設計
設計編輯器
設計編輯器(比如佈局編輯器和導航編輯器)現在提供了一個拆分視圖模式,能夠同時查看 UI 界面的 Design 視圖和 Code 視圖。拆分視圖取代並改進了早期的預覽視窗,並且可以對每個文件進行設置,並且可以保存上下文信息,比如:縮放比例和設計視圖選項等。想要開啟拆分視圖,單擊編輯器視窗右上角的拆分圖標即可。相關文檔:https://medium.com/androiddevelopers/android-studio-design-tools-ux-changes-split-view-dcde75e88a0c
顏色資源選擇器
在這個版本中,通過顏色資源選擇器可以快速的在應用程式中選擇和替換顏色資源值。在設計工具和 XML 編輯器都可以使用顏色資源選擇器。
開發
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 Changes
或 Apply 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
來改用舊的打包工具。
Test
Android 模擬器-谷歌地圖界面
Android Emulator 29.2.12 為 App 開發人員提供了一種新的操縱模擬設備位置的新方法。在擴展控制項菜單中嵌入了谷歌地圖用戶界面,方便開發人員更容易地指定位置,也可以根據兩個地點位置創建導航路線。而且單個一個位置還可以保存並重新作為虛擬位置發送到模擬器,路線導航也可以通過輸入地址或單擊兩個點來生成。這些路線導航可以可以實時回放,路線導航沿線的位置信息也會被髮回到模擬器的系統內。
多個屏幕支持
Emulato 29.1.10 更新了對多個虛擬屏幕的初步支持。隨著越來越多的設備可以使用多個屏幕,在多種屏幕配置上測試你的應用程式是非常重要的。可以通過設置菜單(擴展控制項設置)配置多個屏幕。
斷點續傳下載 SDK
當使用 Android Studio SDK Manager 下載 Android SDK 組件和工具時,Android Studio 現在可以繼續之前中斷的下載(例如,由於網路問題) ,而不是從頭重新下載。在網路連接不可靠的情況下,這個更新對需要下載大的 SDK 組件和工具時非常有幫助,比如 Android 模擬器或系統映像。
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 源代碼。
優化
在記憶體分析器中檢測記憶體泄漏
根據反饋,Android Studio 開發團隊在記憶體分析器中添加了檢測可能泄漏的活動和片段實例的功能。首先,在記憶體分析器中捕獲或導入堆轉儲文件,然後選中 activity/fragments Leaks
覆選框就會生成檢測結果。相關文檔:https://developer.android.google.cn/studio/profile/memory-profiler#profiler-memory-leak-detection
Deobfuscate class and method bytecode in APK Analyzer
當使用 APK 分析器檢查 DEX 文件時,現在可以對類和方法位元組碼進行去混淆處理。 在 DEX 文件查看器中,載入正在分析的 APK 的 ProGuard 映射文件。 載入後,就可以通過右鍵單擊要檢查的類或方法,然後選擇 Show Bytecode
來去除混淆。
作者:Scott Swarthout 原文地址:https://android-developers.googleblog.com/2020/02/android-studio-36.html
199元學習大禮包:點擊領取
原文地址:https://androidweekly.io
版權聲明:禁止一切形式的轉載-禁止商用-禁止衍生
公眾號:Android開發技術周刊