Android Studio 3.6 发布啦,快来围观

Android Studio 3.6 稳定版终于来了,此版本的 Android Studio 包括对一些设计工具的更新,包括布局编辑器和资源管理器。

该版本的更新需要 Plugin 对应更新支持,比如 DartFlutter 对应的插件需要同步更新,首次启动可能比较卡,吃性能。

image

3.6.1 新的更新中移除了多重预览功能已删除,4.0 版本才正式开放;此外并修复了Git版本控制身份验证问题

一、设计工具

此版本的Android Studio包括对一些设计工具的更新,其中包括了布局编辑器资源管理器

1. 拆分视图并放大设计编辑器

image

此版本中包含对视觉设计编辑器的以下更新:

  • 设计编辑器(例如,布局编辑器和导航编辑器)现在提供一个拆分视图 的支持,可以同时查看UI 的设计视图代码视图。在编辑器窗口的右上角,现在有三个按钮可用于在查看选项之间切换:

    • 要启用拆分视图,请单击“ 拆分”图标 。

    • 要启用XML源代码视图,请单击Source图标

    • 要启用设计视图,请单击“ 设计”图标

image
  • 设计编辑器中的缩放和平移控件已移至编辑器窗口右下角的浮动面板。

2.拾色器资源选项卡

为了在使用 XML 或设计工具中的颜色选择器时可以快速更新应用程序中的颜色资源值,IDE现在会填充颜色资源值。

image

3.资源管理

资源管理器包含以下更新:

  • 资源管理器现在支持大多数资源类型。
  • 搜索资源时,资源管理器现在将显示所有项目模块的结果(以前,搜索仅从所选模块返回结果)。
  • 筛选器按钮可以查看来自本地依赖模块,外部库和 Android - 框架的资源也可以使用过滤器显示主题属性。
  • 可以在导入过程中通过在资源上方的文本框中单击来重命名资源。

二、更新了Android Gradle插件

最新版本的 Android Gradle 插件包括许多更新,包括构建速度的优化,对Maven发布插件的支持以及对视图绑定的支持

1. 查看绑定

视图绑定后可以通过为每个 XML 布局文件生成绑定类来更轻松地编写与视图交互的代码。这些类包含对在相应布局中具有ID的所有视图的直接引用。

因为它替换了findViewById(),所以视图绑定消除了因无效的视图ID导致空指针异常的风险。

要启用视图绑定,需要使用 Android Gradle 插件 3.6.0 或更高版本,并在每个模块的build.gradle文件中包含以下内容

android {
    viewBinding.enabled = true
}

三、应用更改

现在在开发过程中可以添加一个类,然后单击 “Apply Code Changes”

image

“Apply Changes and Restart Activity” ,将该代码更改部署到正在运行的应用程序中

image

四、重构菜单选项以启用 Instant Apps 支持

在创建应用程序项目后立即启用基础模块,如下所示:

    1. 通过 从菜单栏中选择View > Tool Windows > Project来打开“ 项目”面板。
    1. 右键单击通常称为“应用程序”的基本模块,然后选择Refactor > Enable Instant Apps Support.>“启用即时应用程序支持”。
  • 3.在出现的对话框中,从下拉菜单中选择基本模块。
  • 4.单击确定。

注意:从“Create New Project ”向导中即时启用基本应用程序模块的选项已删除。

五、在APK分析器中反混淆类和方法字节码

使用APK Analyzer检查DEX文件时,可以按以下步骤对类和方法字节码进行模糊处理:

  • 1.从菜单栏中选择 Build > Analyze APK
  • 2.在出现的对话框中,导航到要检查的APK,然后选择它。
  • 3.点击打开。
  • 4.在 APK 分析器中,选择要检查的 DEX 文件。
  • 5.在DEX文件查看器中,为要分析的APK 加载 ProGuard 映射文件。
  • 6.右键单击要检查的类或方法,然后选择Show bytecode

六、Native Tooling

以下更新支持 Android Studio 中的本机(C / C ++)开发。

1. Kotlin支持

以前由 Java 支持的 Android Studio 支持的 NDK 功能,现在 Kotlin 也能够支持了:

  • 从JNI声明导航到 C / C ++ 中的相应实现函数。将鼠标悬停在托管源代码文件中行号附近的C或C ++项目标记上,可以查看此映射。
  • 为JNI声明自动创建存根实现功能。首先定义JNI声明,然后在C / C ++文件中键入“ jni”或方法名称来激活。
image
  • 未使用的 native implementation functions 在源代码中突出显示为警告。缺少实现的JNI声明也将突出显示为错误。
  • 重命名(重构) native implementation functions 时,所有对应的JNI声明都会更新。重命名 JNI 声明以更新 native implementation functions 功能。
  • 对隐式绑定的 JNI 实现进行签名检查。

2. 其他JNI改进

Android Studio中 的代码编辑器现在支持更无缝的 JNI 开发工作流程,包括改进的类型提示,自动完成,检查和代码重构。

3. 重新加载本机库的APK

在 IDE 外部更新项目中的 APK 时不再需要创建新项目。Android Studio会检测APK 中的更改,并提供重新导入 APK 的选项。

七、Attach Kotlin-only APK Sources

现在分析和调试预建的APK时,可以附加仅 Kotlin 的外部 APK 源:https://developer.android.com/studio/debug/apk-debugger#attach_java

八、内存探查器中的泄漏检测

现在,在 Memory Profiler 中分析堆转储时,可以过滤 Android Studio 认为可能表明应用程序中的内存泄漏 ActivityFragment 实例的性能分析数据。

筛选器显示的数据类型包括:

  • Activity 实例已被销毁,但仍在引用中。
  • Fragment 实例无效 FragmentManager 但仍在引用中。

在某些情况下,例如以下情况,过滤器可能会产生误报:

  • A Fragment 已创建,但尚未使用。
  • 一个 Fragment 被缓存,但不作为的一部分FragmentTransaction

要使用此功能,请先捕获堆转储将堆转储文件导入Android Studio。要显示可能正在泄漏内存的碎片和活动,请在“内存探查器”的堆转储窗格中选中“活动/碎片泄漏”复选框。(筛选堆转储以防止内存泄漏。)

image

九、模拟器

Android Studio 3.6 可以利用 Android Emulator 29.2.7 及更高版本中包含的多个更新,如下所述。

1. 改进的位置支持

Android Emulator 29.2.7 及更高版本为仿真GPS坐标和路线信息提供了额外的支持。当打开 Emulators Extended controls, 控件时, Location 选项卡中的选项现在组织在两个选项卡下:“Single points”“Routes”

Single points

在 Single points 标签中,可以使用 Google Maps Webview 搜索感兴趣的点,就像在手机或浏览器上使用Google Maps一样。搜索或单击地图中的位置时,可以通过选择地图底部附近的保存点来保存位置。所有保存的位置都列在扩展控件窗口的右侧 。

要将“模拟器”位置设置在地图上选择的位置,请单击 Extended controls 窗口右下角附近的“ 设置位置”按钮 。

image

Routes

与 Single points 标签类似, Routes 标签提供了Google Maps Web视图,可用于在两个或多个位置之间创建路线。要创建和保存路线,请执行以下操作:

  • 1.在地图视图中,使用文本字段搜索路线中的第一个目的地。
  • 2.从搜索结果中选择位置。
  • 3.选择 Navigate 按钮
image
  • 4.从地图上选择路线的起点。
  • 5.(可选)点击添加目的地,将更多停靠点添加到路线中。
  • 7.为路线指定名称,然后点击保存。

要按照保存的路线模拟模拟器,请从 Saved routes 列表中选择路线,然后单击 Extended controls 窗口右下角附近的 Play route 。要停止模拟,请点击停止路线。

image

要按照指定的路径连续仿真模拟器,请启用重复播放旁边的开关。要更改仿真器遵循指定路线的速度,请从 Playback speed 下拉列表中选择一个选项。

2. 多显示器支持

3.6.1 新的更新中移除了多重预览功能已删除,4.0 版本才正式开放。

Android模拟器现在允许将应用程序部署到支持可自定义尺寸的多个显示器,并可以帮助测试支持多窗口和多显示器的应用程序 。在虚拟设备运行时,最多可以添加两个以下显示:

  • 1.打开扩展控件,然后导航到 Displays 选项卡。
  • 2.通过单击添加 Add secondary display 来添加另一个显示。
  • 3.在 Secondary displays 菜单中,执行以下一项操作:
    • a.选择一种预设的宽高比
    • b.选择自定义并为自定义显示设置高度,宽度和dpi。
  • 4.(可选)单击 Add secondary display 以添加第三显示。
    1. 单击 Apply changes,将指定的显示添加到正在运行的虚拟设备。
image
image

3. 适用于Android Automotive OS的新虚拟设备和项目模板

使用 Android Studio 创建新项目时,现在可以从 Create New Project 向导的 Automotive 选项卡中的三个模板中进行选择:No ActivityMedia serviceMessaging service

对于现有项目,可以通过从菜单栏中选择 File > New > New Module,然后选择 Android Automotive 来添加对 设备的支持。然后, Create New Module 向导将指导使用 Android Automotive 项目模板之一创建新模块。

image

此外,现在可以通过在 Virtual Device Configuration 向导的Automotive选项卡中选择以下选项之一,为Android Automotive OS设备 create an Android Virtual Device (AVD)

  • 1.Polestar 2:创建一个模拟Polestar 2主机的AVD。
  • 2.Automotive (1024p landscape):为一般的1024 x 768 px Android车载主机创建一个AVD。
image

十、可恢复的SDK下载

现在,当使用 SDK Manager 下载 SDK 组件和工具时,Android Studio 现在允许恢复被中断(例如由于网络问题)的下载,而无需从头开始重新开始下载。当互联网连接不可靠时,此增强功能对于大型下载(例如Android模拟器或系统映像)特别有用。

另外,如果在后台运行SDK下载任务,则现在可以使用状态栏中的控件暂停或继续下载。

image

状态栏中的后台下载任务,带有新控件,可暂停或继续下载。

十一、Win32已弃用

Windows 32 位版本的Android Studio在 2019 年 12 月之后将不再获得更新,并且在 2020 年 12 月之后将不再获得支持。开发者可以继续使用 Android Studio。但是,要接收其他更新,请将工作站升级到 Windows 的 64 位版本。

十二、优化 Gradle 同步时间的新选项

在以前的版本中,Android Studio 在 Gradle Sync 期间检索了所有 Gradle 任务的列表。对于大型项目,检索任务列表可能会导致同步时间变慢。

要提高Gradle同步性能,请转到 File > Settings > Experimental , 然后选择在Gradle同步期间不构建Gradle任务列表。

启用此选项后,Android Studio会在同步过程中跳过构建任务列表,从而使Gradle Sync更快地完成并改善UI响应速度。请记住,当IDE跳过构建任务列表时,Gradle面板中的任务列表为空,并且构建文件中的任务名称自动完成不起作用。

十三、切换Gradle离线模式的新位置

要启用或禁用Gradle的离线模式,请首先从菜单栏中选择View > Tool Windows > Gradle。然后,在 Gradle 窗口顶部附近,点击Toggle Offline Mode:

image

十四、3.6的已知问题

本部分介绍了 Android Studio 3.6 中的当前已知问题。

1. Linux上的键映射冲突

在Linux上,某些键盘快捷键与默认的Linux键盘快捷键以及流行的窗口管理器(例如KDE和GNOME)的键盘快捷键冲突。这些键盘快捷键可能无法在Android Studio中正常工作。

2. Chrome操作系统上的小界面文字

在Chrome操作系统上,文本看起来可能比以前的版本小得多。要变通解决此问题,请执行以下操作:

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

推荐阅读更多精彩内容