[译]Android Studio 3.6 新特性概览

设计

设计编辑器

设计编辑器(比如布局编辑器和导航编辑器)现在提供了一个拆分视图模式,能够同时查看 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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350