Android Studio 4.0重磅发布:全新的 Motion 编辑器及众多更新都在这里!


Android Studio 4.0 的亮点包括:新的 Motion Editor(动作编辑器),让你的应用栩栩如生;Build Analyzer(构建分析器),用来探索构建速度下降的原因;以及一众 Java 8 语言 API,无论你的应用的最小 API 级别是多少都能用。根据用户反馈,我们还大幅改动了 CPU Profiler(CPU 分析器)的用户界面,以提供更直观的工作流程和更易用的线程活动并排分析。改进的 Layout Inspector(布局查看器)现在可以提供应用 UI 的实时数据,因此你可以轻松准确地调试设备上显示的内容。
每个新版本的发布都要感谢测试用户的反馈信息。如果你已准备就绪,现在就可以访问官方网站下载 Android Studio 4.0:
http://d.android.com/studio
https://youtu.be/f1fHPqAYj5I
MotionLayout API 扩展了 ConstraintLayout 的丰富功能,可帮助 Android 开发人员在应用中管理复杂的运动和小部件动画。在 Android Studio 4.0 中,新的 Motion Editor 让这个 API 用起来更方便。它提供了用于创建、编辑和预览 MotionLayout 动画的强大界面。你用不着再创建和修改复杂的 XML 文件,Motion Editor 会为你生成它们,并支持约束集合、过渡、关键帧和视图属性的编辑。如果你想查看编辑器创建的代码,只需点一下即可。对于正在使用 ConstraintLayout 的开发人员来说,这个 IDE 可以轻松将其转换为 MotionLayout。更多信息参考:
http://d.android.com/studio/write/motion-editor
在 Motion 编辑器中创建、编辑和预览动画
想要调查特定属性的值的源头?或者想通过嵌套视图的实时 3D 表示,更轻松地检查视图层次?借助新的 Layout Inspector,你可以获得正在运行的应用中的最新数据,并获得关于资源解析的深度信息,从而更直观地调试 UI。
使用 Live Layout Inspector 实时调试应用 UI
从主菜单选择 View > Tool Windows > Layout Inspector 就可以启用实时 Layout Inspector。部署到运行 API 29 或更高版本的设备还能获得其他特性,例如动态布局层次结构(随视图更改而更新)、详细的视图属性(还可以帮助你确定资源值是如何解析的)以及正在运行的应用 UI 的 3D 模型。它可以在当前运行应用上的视图之间导航、动画化和过渡,同时还能保持像素级调试 UI 的能力。更多信息参考:
https://medium.com/androiddevelopers/layout-inspector-1f8d446d048
使用 Layout Validation 在多个屏幕上对比 UI
当你为多种屏幕规格、屏幕尺寸和分辨率开发应用时,需要验证对 UI 所做的更改在所支持的每个屏幕上都能正常显示。使用 Layout Validation(布局验证)窗口,你可以同时在多个不同的屏幕和配置上预览布局,轻松确保你的应用兼容各种屏幕尺寸。单击 IDE 右上角的 Layout Validation 选项卡即可启用。
CPU Profiler UI 升级
改进的 CPU Profiler UI
CPU Profiler 可以提供关于应用的线程活动和跟踪记录的大量信息。在 Android Studio 4.0 中,CPU 记录现在与 Profiler 主时间轴分开显示,并按组分类以简化分析过程。你可以上下移动组,或者在组中拖放项目以定制界面。
线程活动的并排分析更轻松
为了更轻松地进行并排分析,你现在可以在 Thread Activity(线程活动)时间轴中查看所有线程活动(包括方法、函数和事件),并使用新的导航快捷方式轻松移动数据(例如使用 W,A,S 和 D 键精确缩放和平移)。我们还重新设计了 System Trace(系统跟踪)UI,为事件添加了各自的颜色来方便区分,对线程进行排序,把较忙的线程放在前面,而且现在你可以只查看所选线程的数据。最后,我们改进了 CPU Profiler 的质量,显著降低了录制错误率。更多信息参考:
http://d.android.com/studio/releases#cpu-profiler-upgrades
编写 R8 规则时的智能编辑器功能
R8 是在 Android Gradle 插件 3.4.0 中引入的,可将 desugaring、缩减、混淆、优化和 dexing 合并为一个步骤,从而显著提高构建性能。在为 R8 创建规则文件时,Android Studio 现在提供了智能编辑器功能,例如语法高亮显示、自动完成和错误检查。该编辑器还与你的 Android 项目集成,为所有类、方法和字段提供完整的符号补全,还有快速导航和重构。
核心 Android Studio IDE 已更新,加入了 IntelliJ IDEA 2019.3 和 2019.3.3 版本以来的改进。这些改进主要是整个 IDE 的质量和性能改进。
实时模板(Live Templates)是 IntelliJ 的一项便捷功能,允许你输入简单的关键字将常见的构造插入代码中。Android Studio 现在为你的 Kotlin 代码提供了 Android 专属的实时模板。例如,只需键入 Toast,然后按 Tab 键即可快速插入 Toast 的样板代码。有关可用实时模板的完整列表,请转至 Settings(或 Preferences)中的 Editor > Live Templates。
对于编写 C++ 的开发人员,我们已转向 clangd(https://clangd.llvm.org/)作为主要的语言分析引擎,用于代码导航、完成、检查以及显示代码错误和警告。现在 Android Studio 还打包了 clang-tidy。要配置 Clangd 或 Clang-Tidy 行为,请转到 Settings(或 Preferences),导航到 Languages & Frameworks > C/C++ > Clangd/Clang-Tidy,然后配置选项。
Android Gradle 插件 4.0.0 使用 Java8 语言 API(无论你的应用的最低 API 级别如何)对 Android Studio 的 Bulid Analyzer 提供支持,并在动态功能(Dynamic Feature)模块之间创建了功能对功能的依赖。有关完整的更新列表,请阅读 Android Gradle 插件 4.0.0 发行说明:
http://d.android.com/studio/releases/gradle-plugin#4-0-0
使用 Build Analyzer 解决构建性能中的瓶颈
Android 开发人员依靠各种 Gradle 插件和自定义构建逻辑来为应用量身定制构建系统。但是,过时或错误配置的任务可能会导致更长的构建时间,不仅令人沮丧,还会拖累生产率。Build Analyzer 可以高亮显示最影响构建时间的插件和任务,并提供缩短时间的步骤建议,从而帮助你了解和解决构建中的瓶颈。更多信息参考:
http://d.android.com/studio/build/build-analyzer
早期版本的 Android Gradle 插件通过称为 desugaring 的过程,在所有 API 级别上支持各种 Java8 语言功能,例如 lambda 表达式和方法引用。在 Android Studio 4.0 中,无论你的应用的 minSdkVersion 如何,都可以使用 desugaring 引擎来支持 Java 语言 API。这意味着你现在可以使用标准语言 API 了,以前它们只在最新的 Android 版本中可用(例如 java.util.stream,java.util.function 和 java.time)。更多信息参考:
http://d.android.com/studio/write/java8-support
功能上的依存关系
使用 Android Gradle 插件 4.0.0 及更高版本时,你现在可以指定一个动态功能模块依赖于另一个功能模块。这种关系可确保你的应用具有所需的模块来提供新的功能,从而减少请求并更好地模块化。例如,:video 功能可以依赖:camera 功能。如果用户想使用录制视频的功能,则你的应用在请求:video 时会自动下载所需的:camera 模块。更多信息参考:
http://d.android.com/studio/releases#4-0-0-feature-plugin
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,用于启用或禁用构建功能
Android Studio 4.0 现在已经内置了对 Kotlin DSL 构建脚本文件(*.kts)的支持,这意味着 Kotlin 构建脚本提供了一套完整的快速修复程序,并由 Project Structure(项目结构)对话框提供支持。我们将在明年继续完善 Android Gradle 插件的 DSL API,这可能会导致 Kotlin 脚本用户的 API 更改中断。从长远来看,这些修补程序将为 Kotlin 脚本用户提供更加熟悉,易于使用的 DSL。
使用 Android Gradle 插件 4.0.0 及更高版本构建应用时,插件会包含描述已编译到你应用中的库依赖项的元数据。上传应用时,Play 控制台会检查这些元数据,以提供有关应用使用的 SDK 和依赖项已知问题的警报,并在某些情况下提供可解决这些问题的可行反馈。
android {
dependenciesInfo {
// Disables dependency metadata when building APKs.
includeInApk = false
// Disables dependency metadata when building Android App Bundles.
includeInBundle = false
}
}
禁用 APK 和 / 或应用包的依赖项元数据回顾一下,Android Studio 4.0 包括以下新的功能与改进:
-
Motion Editor:用于创建、编辑和预览 MotionLayout 动画的简单界面
-
Layout Inspector 升级:实时,更直观的调试体验
-
Layout Validation:跨多个屏幕尺寸比较你的 UI
-
CPU Profiler 更新:使 UI 导航起来更加直观,并且让数据更易于理解
-
R8 规则更新:用于代码缩减规则的智能编辑器功能,例如语法高亮显示、完成和错误检查
-
IntelliJ IDEA 2019.3 平台更新,以提高性能和质量
-
实时模板更新:Kotlin 代码的 Android 专用实时模板
-
Clangd 支持:默认启用 Clangd 和 Clang-Tidy
-
Bulid Analyzer:了解并解决构建中的瓶颈
-
Java 8 语言支持更新:无论你的应用的最低 API 级别如何,均可使用这些 API
-
功能对功能的依赖:定义动态功能模块之间的依赖关系
-
buildFeatures DSL:启用或禁用单独的构建功能,例如数据绑定
-
Kotlin DSL:对 Kotlin DSL 脚本文件的基本支持
-
有关改动的完整列表,请阅读官方发行说明
-
http://d.android.com/studio/releases#4-0-0
如果你使用的是早期版本的 Android Studio,只需将其更新为最新版本即可。或者从这个页面下载 Android Studio 4.0。
http://d.android.com/studio/
与往常一样,我们感谢大家的任何反馈。如果发现错误或问题,请提交 issue。
https://android-developers.googleblog.com/2020/05/android-studio-4.html
推荐一个技术号
Github实验室,由国内985博士、硕士组成的团体运营。主要分享和研究业界开源项目,学习资源,程序设计,学术交流。
关注就无套路送你一份2020年最新Java面试题及答案(283页)。

长按二维码识别关注
1、VS Code 成主宰、Vue备受热捧!2020 前端开发趋势指南

点个在看少个 bug👇
夜雨聆风
