Android Studio 4.0 正式版发布了

Android Studio 4.0 正式版发布了

Android Studio 4.0

在这些不确定的时期,世界各地的许多开发人员都在寻找方法,继续做他们最擅长的事情——为 Android 开发出令人惊叹的应用程序,这让我们感到谦卑。无论你是在厨房的桌子上用笔记本电脑工作还是在家里的办公室工作,你都需要能跟上你工作节奏的工具。4.0 是我们努力为您带来新的和改进的工具,使您能够更聪明地编写代码,更快地构建,并设计您的用户所依赖的应用程序,现在它可以在稳定频道上使用。

4.0 的一些亮点包括一个新的运动编辑器来帮助你的应用程序生动起来,一个构建分析器来调查缓慢的构建时间的原因,以及无论你的应用程序的最低 API 级别如何你都可以使用的 Java 8 语言 API。根据您的反馈,我们还彻底检查了 CPU Profiler 用户界面,以提供更直观的工作流和更简单的线程活动并行分析。改进后的布局检查器现在提供了应用程序界面的实时数据,因此您可以轻松地调试设备上显示的内容。

和往常一样,如果没有预览用户的早期反馈,这个版本是不可能实现的。所以请继续阅读或观看下面的文章,了解更多的亮点和新特性,你可以在这个稳定的版本中找到。 如果你已经准备好亲眼看看,那么现在就去官方网站下载 Android Studio 4.0吧。

Design

Motion Editor

Motionlayout API 扩展了 ConstraintLayout 的丰富功能,帮助 Android 开发者在他们的应用程序中管理复杂的动作和小部件动画。在 Android Studio 4.0中,新的运动编辑器使得使用这个 API 变得更加容易ーー这是一个强大的用于创建、编辑和预览运动布局动画的界面。您不再需要创建和修改复杂的 XML 文件;运动编辑器为您生成这些文件,并支持编辑约束集、转换、关键帧和视图属性。如果你确实想看到编辑器创建的代码,点击一下就可以了。 同样方便的是,对于已经使用 ConstraintLayout 的开发人员,IDE 可以轻松地将其转换为 MotionLayout点击了解更多

在动作编辑器中创建、编辑和预览动画

升级版设计视图

您是否曾经想要调查某个特定属性的值从何而来?或者查看嵌套视图的实时三维表示,以便更容易地检查视图层次结构?有了新的布局检查器,调试你的用户界面就更加直观了,你可以访问那些随着你的应用程序更新的数据,并且提供关于资源如何被解决的见解。

使用 Live Layout Inspector 实时调试应用程序的 UI

通过从主菜单中选择查看工具窗口布局检视器来使用实时布局检视器。如果你正在部署一个运行 API 29级或更高级别的设备,你可以访问额外的功能,如动态布局层次结构,更新视图的变化,详细的视图属性,也可以帮助你确定如何解析资源值,以及一个活动的 3D 模型,你运行的应用程序的 UI。导航,动画,和转换之间的视图在您的运行应用程序,同时始终有能力调试您的 UI 到像素完美。点击了解更多

Layout Validation

在多个屏幕上比较用户界面和布局验证

当您为多种形式因素、屏幕大小和分辨率进行开发时,您需要验证您对 UI 所做的更改在您所支持的每个屏幕上看起来是否都很棒。通过布局验证窗口,你可以同时预览不同屏幕和配置的布局,所以你可以很容易地确保你的应用程序在各种设备上看起来都很棒。首先,单击 IDE 右上角的 Layout Validation 选项卡。

Develop & Profile

改进 CPU 分析器 UI 界面

改进的 CPU 分析器用户界面

CPU 分析器旨在提供有关应用程序的线程活动和跟踪记录的大量信息。所以,当你给我们提供关于如何使用户界面更直观导航和数据更容易理解的反馈时,我们听了。在 Android Studio 4.0中,CPU 记录现在与主分析器时间线分离,并以组的形式组织,以便于分析。您可以向上和向下移动组,或者在组中拖放单个项以进行额外的自定义。

更容易地并行分析线程活动

为了更容易地进行并行分析,现在可以查看 Thread Activity 时间轴中的所有线程活动(包括方法、函数和事件) ,并尝试新的导航快捷方式,以方便地在数据周围移动——例如使用 w、 a、 s 和 d 键进行细粒度的缩放和平移。 我们还重新设计了系统跟踪用户界面,使得事件的颜色更加独特,以便更好地进行视觉区分,线程被排序以便首先显示更繁忙的线程,现在你可以专注于查看选择的线程的数据。 最后,我们对 CPU 剖析器的质量进行了投资,因此自 Android Studio 3.6以来,用户报告的录音错误率显著下降。还有更多的改进可以尝试,所以学习更多

智能编辑器在编写代码缩小规则时的特性

当为 R8 编写规则时,智能编辑器的特性

在 Android Gradle plugin 3.4.0 中引入了 R8,将去除、收缩、混淆、优化和去除所有这些功能结合在一起,从而显著提高了构建性能。在为 r8 创建规则文件时,Android Studio 现在提供了智能编辑器功能,比如语法突显、完成和错误检查。 该编辑器还集成到你的 Android 项目中,为所有类、方法和字段提供完整的符号完成,并包括快速导航和重构。

Intellij IDEA 2019.3平台更新

核心的 Android Studio IDE 已经更新了 IntelliJ IDEA 2019.32019.3.3 版本的改进。这些改进主要集中在 IDE 的质量和性能改进上。

Kotlin Android live templates

Live templates 是一个方便的 IntelliJ 特性,它允许您通过输入简单的关键字将通用构造插入到代码中。Android Studio 现在为您的 Kotlin 代码提供了特定于 Android 的实时模板。 例如,只需键入 Toast 并按 Tab 键就可以快速插入 Toast 的样板代码。有关可用活动模板的完整列表,请在 Settings 对话框中导航到 Editor > Live Templates

C++ 的 Clangd 支持

对于 C++ 开发人员,我们已经转而使用 clangd 作为代码导航、完成、检查以及显示代码错误和警告的主要语言分析引擎。我们现在还将 clang-tidy 与 Android Studio 捆绑在一起。要配置 Clangd 或 Clang-Tidy 行为,请转到 IDE Settings (或 Preferences)对话框,导航到 Languages & Frameworks > C/C++ > Clangd 或 Clang-Tidy,并配置选项。

Build

Android Gradle plugin 4.0.0 包括支持 Android Studio 的 Build Analyzer,使用 Java 8 语言 API (无论你的应用程序的最低 API 级别如何) ,并在 Dynamic Feature 模块之间创建功能对功能的依赖关系。更完整的列表,请阅读 Android Gradle plugin 4.0.0 发布日志

构建分析器(Build Analyzer)

使用 Build Analyzer 解决构建性能中的瓶颈

Android 开发人员依靠各种 Gradle 插件和自定义构建逻辑来为他们的应用程序定制构建系统。 然而,过时或配置不当的任务可能导致更长的构建时间,从而导致挫折和生产力损失。 构建分析器可以帮助你理解和解决构建过程中的瓶颈问题,方法是突出显示对你的总体构建时间负有最大责任的插件和任务,并提出减少回归的步骤。点击了解更多

Java 8 Language library desugaring in D8 and R8

之前版本的 Android Gradle 插件通过一个名为 desuging 的过程,为所有 API 级别支持各种 Java 8 语言特性,比如 lambda 表达式和方法引用。在 Android Studio 4.0 中,无论你的应用是 minSdkVersion,失望的引擎已经扩展到支持 Java 语言 api。这意味着您现在可以使用标准语言 api,以前只有最近的 Android 版本(例如 java.util.stream、 java.util.function 和 java.time)可以使用这些 api。点击了解更多

功能对功能的依赖(Feature-on-feature dependencies)

功能对功能的依赖

当使用 Android Gradle plugin 4.0.0 或更高版本时,你现在可以指定一个 Dynamic Feature 模块依赖于另一个功能模块。能够定义这种关系可以确保你的应用程序具有解锁附加功能所需的模块,从而减少请求并更容易地模块化你的应用程序。例如,:video 功能可以依赖于 :camera 功能。如果用户想解锁录制视频的功能,你的应用程序会在请求时自动下载所需的 :camera 模块 和 :video点击了解更多

启用或禁用构建特性的新选项

Android Gradle 插件内置了对现代库的支持,比如数据绑定和视图绑定,以及构建特性,比如自动生成的 BuildConfig 类。但是,您可能不需要为每个项目使用这些库和特性。 在该插件的 4.0.0 版本中,你现在可以禁用离散的构建特性,如下所示,这可以帮助优化大型项目的构建性能。有关 DSL 和您可以控制的特性的完整列表,请参阅发布日志

android {
    // The default value for each feature is shown below.
    // You can change the value to override the default behavior.
    buildFeatures {
        // Determines whether to support View Binding.
        // Note that the viewBinding.enabled property is now deprecated.
        viewBinding = false
        // Determines whether to support Data Binding.
        // Note that the dataBinding.enabled property is now deprecated.
        dataBinding = false
        ...
    }
}

用于启用或禁用构建特性的 Android Gradle 插件 DSL

对 Kotlin DSL 脚本文件的基本支持

Android Studio 4.0 现在内置了对 Kotlin DSL 构建脚本文件的支持(* 。 Kts) ,这意味着 Kotlin 构建脚本提供了一整套快速修复,并且得到了 Project Structure 对话框的支持。虽然我们对使用 Kotlin 来配置你的构建的潜力感到兴奋,但是我们将在明年继续完善 Android Gradle Plugin 的 DSL API,这可能会导致 Kotlin 脚本用户无法使用 API。从长远来看,这些修复将为 Kotlin 脚本用户提供更为惯用、易于使用的 DSL。

依赖元数据

当使用 Android Gradle plugin 4.0 或更高版本构建应用程序时,该插件包含描述库依赖性的元数据,这些元数据被编译到应用程序中。当上传你的应用程序时,Play Console 会检查这些元数据,提供关于 SDK 和你的应用程序使用的依赖关系的已知问题的警告,并且在某些情况下,提供可操作的反馈来解决这些问题。

数据被压缩,用 Google Play 签名密钥加密,并存储在发布应用程序的签名块中。 如果你不想分享这些信息,你可以在你的模块的 build.gradle 文件中加入以下内容:

android {
    dependenciesInfo {
        // Disables dependency metadata when building APKs.
        includeInApk = false
        // Disables dependency metadata when building Android App Bundles.
        includeInBundle = false
    }
}

禁用 APKs、 app bundle 或两者的依赖元数据

总结一下,Android Studio 4.0 包含了这些新的增强功能和特性:

设计

  • Motion Editor: 一个简单的界面创建,编辑和预览 MotionLayout 动画
  • 升级布局审查器: 实时且更直观的调试体验
  • Layout Validation: 跨多个屏幕尺寸比较用户界面

Develop & Profile

  • CPU 探查器更新: 改进,使用户界面更直观,数据更容易理解
  • R8 规则更新: 为你的代码收缩器规则提供智能编辑器功能,比如语法突显、完成和错误检查
  • Intellij IDEA 2019.3 平台更新,性能和质量不断改进
  • Live Template 更新: 您的 Kotlin 代码的 android 特定 Live 模板
  • Clangd 支持: 默认开启 Clangd 和 Clang-Tidy

Build

  • Build Analyzer: 理解并解决构建中的瓶颈
  • Java 8语言支持更新: 无论应用程序的最低 API 级别如何,你都可以使用 API
  • 功能对功能依赖: 定义动态功能模块之间的依赖关系
  • Buildfeatures DSL: 启用或禁用离散的构建特性,如数据绑定
  • Kotlin DSL: 对 Kotlin DSL 脚本文件的基本支持

更改的完整列表,请阅读官方发布说明

开始

下载

下载页面下载 Android Studio 4.0。 如果您使用的是 Android Studio 的上一个版本,您可以简单地更新到最新版本的 Android Studio。

一如既往,我们感谢您对您对遇到的问题的任何反馈。如果你发现一个错误或问题,请提交一个问题。关注我们 -- Android Studio 开发团队 -- 在 TwitterMedium 上。

版权声明

禁止一切形式的转载-禁止商用-禁止衍生 申请授权

脉脉不得语
脉脉不得语
Zhengzhou Website
Android Developer | https://androiddevtools.cn and https://androidweekly.io WebMaster | GDG Zhengzhou Funder & Ex Organizer | http://Toast.show(∞) Podcast Host

你已经成功订阅到 Android 开发技术周报
太棒了!接下来,完成检验以获得全部访问权限 Android 开发技术周报
欢迎回来!你已经成功登录了。
Unable to sign you in. Please try again.
成功!您的帐户已完全激活,您现在可以访问所有内容。
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.