主頁 > 移動端開發 > [譯]Android Studio 3.6 新特性概覽

[譯]Android Studio 3.6 新特性概覽

2020-09-14 06:24:34 移動端開發


設計

設計編輯器

設計編輯器(比如布局編輯器和導航編輯器)現在提供了一個拆分視圖模式,能夠同時查看 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 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 來改用舊的打包工具,

編輯 gradle.properties 檔案以禁用新的打包工具

Test

Android 模擬器-谷歌地圖界面

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

帶有實時定位流的 Android 模擬器定位 UI

多個螢屏支持

Emulato 29.1.10 更新了對多個虛擬螢屏的初步支持,隨著越來越多的設備可以使用多個螢屏,在多種螢屏配置上測驗你的應用程式是非常重要的,可以通過設定選單(擴展控制元件設定)配置多個螢屏,

Android 模擬器中的多顯示支持

在 Android 模擬器擴展控制元件面板中配置輔助顯示

斷點續傳下載 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

檢測記憶體分析器中泄漏的活動和片段

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開發技術周刊
掃碼關注 Android 開發技術周報公眾號

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/31668.html

標籤:Android

上一篇:Android.bp檔案簡介

下一篇:android使用giflib加載gif

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【從零開始擼一個App】Dagger2

    Dagger2是一個IOC框架,一般用于Android平臺,第一次接觸的朋友,一定會被搞得暈頭轉向。它延續了Java平臺Spring框架代碼碎片化,注解滿天飛的傳統。嘗試將各處代碼片段串聯起來,理清思緒,真不是件容易的事。更不用說還有各版本細微的差別。 與Spring不同的是,Spring是通過反射 ......

    uj5u.com 2020-09-10 06:57:59 more
  • Flutter Weekly Issue 66

    新聞 Flutter 季度調研結果分享 教程 Flutter+FaaS一體化任務編排的思考與設計 詳解Dart中如何通過注解生成代碼 GitHub 用對了嗎?Flutter 團隊分享如何管理大型開源專案 插件 flutter-bubble-tab-indicator A Flutter librar ......

    uj5u.com 2020-09-10 06:58:52 more
  • Proguard 常用規則

    介紹 Proguard 入口,如何查看輸出,如何使用 keep 設定入口以及使用實體,如何配置壓縮,混淆,校驗等規則。

    ......

    uj5u.com 2020-09-10 06:59:00 more
  • Android 開發技術周報 Issue#292

    新聞 Android即將獲得類AirDrop功能:可向附近設備快速分享檔案 谷歌為安卓檔案管理應用引入可安全隱藏資料的Safe Folder功能 Android TV新主界面將顯示電影、電視節目和應用推薦內容 泄露的Android檔案暗示了傳說中的谷歌Pixel 5a與折疊屏新機 谷歌發布Andro ......

    uj5u.com 2020-09-10 07:00:37 more
  • AutoFitTextureView Error inflating class

    報錯: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解決: <com.example.testy2.AutoFitTextureView android: ......

    uj5u.com 2020-09-10 07:00:41 more
  • 根據Uri,Cursor沒有獲取到對應的屬性

    Android: 背景:呼叫攝像頭,拍攝視頻,指定保存的地址,但是回傳的Cursor檔案,只有名稱和大小的屬性,沒有其他諸如時長,連ID屬性都沒有 使用 cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATIO ......

    uj5u.com 2020-09-10 07:00:44 more
  • Android連載29-持久化技術

    一、持久化技術 我們平時所使用的APP產生的資料,在記憶體中都是瞬時的,會隨著斷電、關機等丟失資料,因此android系統采用了持久化技術,用于存盤這些“瞬時”資料 持久化技術包括:檔案存盤、SharedPreference存盤以及資料庫存盤,還有更復雜的SD卡記憶體儲。 二、檔案存盤 最基本存盤方式, ......

    uj5u.com 2020-09-10 07:00:47 more
  • Android Camera2Video整合到自己專案里

    背景: Android專案里呼叫攝像頭拍攝視頻,原本使用的 MediaStore.ACTION_VIDEO_CAPTURE, 后來因專案需要,改成了camera2 1.Camera2Video 官方demo有點問題,下載后,不能直接整合到專案 問題1.多次拍攝視頻崩潰 問題2.雙擊record按鈕, ......

    uj5u.com 2020-09-10 07:00:50 more
  • Android 開發技術周報 Issue#293

    新聞 谷歌為Android TV開發者提供多種新功能 Android 11將自動填表功能整合到鍵盤輸入建議中 谷歌宣布Android Auto即將支持更多的導航和數字停車應用 谷歌Pixel 5只有XL版本 搭載驍龍765G且將比Pixel 4更便宜 [圖]Wear OS將迎來重磅更新:應用啟動時間 ......

    uj5u.com 2020-09-10 07:01:38 more
  • 海豚星空掃碼投屏 Android 接收端 SDK 集成 六步驟

    掃碼投屏,開放網路,獨占設備,不需要額外下載軟體,微信掃碼,發現設備。支持標準DLNA協議,支持倍速播放。視頻,音頻,圖片投屏。好點意思。還支持自定義基于 DLNA 擴展的操作動作。好像要收費,沒體驗。 這里簡單記錄一下集成程序。 一 跟目錄的build.gradle添加私有mevan倉庫 mave ......

    uj5u.com 2020-09-10 07:01:43 more
最新发布
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:40:31 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:40:11 more
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:39:36 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:39:13 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:16:23 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:16:15 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:15:46 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:14:53 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:14:08 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:08:34 more