点击“开发者技术前线”,选择“星标”

在看|星标|留言,  真爱

作者 | Adarsh Fernando

译者 | 王强    回复“666”,获取一份技术人专属大礼包

来自:前端之巅

在当前这个充满不确定性的时期,来自世界各地的无数开发人员依旧在想方设法继续做自己最擅长的工作——为 Android 创建出色的应用,这让我们感动不已。无论你是已经复工回到办公室,还是依旧在家远程办公,都需要得心应手的工具。为此我们发布了 Android Studio 4.0,为大家带来全新的工具和现有工具的诸多改进,帮助开发人员更智能地编程,更快地构建,并设计出用户信赖的应用。

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

设计

Motion Editor

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 编辑器中创建、编辑和预览动画

升级的 Layout Inspector

想要调查特定属性的值的源头?或者想通过嵌套视图的实时 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

使用 Layout Validation 在多个屏幕上对比 UI

当你为多种屏幕规格、屏幕尺寸和分辨率开发应用时,需要验证对 UI 所做的更改在所支持的每个屏幕上都能正常显示。使用 Layout Validation(布局验证)窗口,你可以同时在多个不同的屏幕和配置上预览布局,轻松确保你的应用兼容各种屏幕尺寸。单击 IDE 右上角的 Layout Validation 选项卡即可启用。

开发和 Profile

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 项目集成,为所有类、方法和字段提供完整的符号补全,还有快速导航和重构。

IntelliJ IDEA 2019.3 平台更新

核心 Android Studio IDE 已更新,加入了 IntelliJ IDEA 2019.3 和 2019.3.3 版本以来的改进。这些改进主要是整个 IDE 的质量和性能改进。

Kotlin Android 实时模板

实时模板(Live Templates)是 IntelliJ 的一项便捷功能,允许你输入简单的关键字将常见的构造插入代码中。Android Studio 现在为你的 Kotlin 代码提供了 Android 专属的实时模板。例如,只需键入 Toast,然后按 Tab 键即可快速插入 Toast 的样板代码。有关可用实时模板的完整列表,请转至 Settings(或 Preferences)中的 Editor > Live Templates

Clang 支持 C++

对于编写 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

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

Android 开发人员依靠各种 Gradle 插件和自定义构建逻辑来为应用量身定制构建系统。但是,过时或错误配置的任务可能会导致更长的构建时间,不仅令人沮丧,还会拖累生产率。Build Analyzer 可以高亮显示最影响构建时间的插件和任务,并提供缩短时间的步骤建议,从而帮助你了解和解决构建中的瓶颈。更多信息参考:

http://d.android.com/studio/build/build-analyzer

Java 8 语言库在 D8 和 R8 中 desugaring

早期版本的 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 和你可以控制的功能的完整列表,请参见发行说明:

http://d.android.com/studio/releases/gradle-plugin#4-0-0

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(项目结构)对话框提供支持。我们将在明年继续完善 Android Gradle 插件的 DSL API,这可能会导致 Kotlin 脚本用户的 API 更改中断。从长远来看,这些修补程序将为 Kotlin 脚本用户提供更加熟悉,易于使用的 DSL。

依赖项元数据

使用 Android Gradle 插件 4.0.0 及更高版本构建应用时,插件会包含描述已编译到你应用中的库依赖项的元数据。上传应用时,Play 控制台会检查这些元数据,以提供有关应用使用的 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}
}

禁用 APK 和 / 或应用包的依赖项元数据回顾一下,Android Studio 4.0 包括以下新的功能与改进:

设计

  • Motion Editor:用于创建、编辑和预览 MotionLayout 动画的简单界面

  • Layout Inspector 升级:实时,更直观的调试体验

  • Layout Validation:跨多个屏幕尺寸比较你的 UI

开发和 Profile

  • 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。

Android 11 Bata发布

谷歌发布了首个 Android 11 的开发者预览版本。预览版包括面向开发人员的预览 SDK,以及官方的 Android 模拟器,目前只能与多款 Pixel 设备配合使用。

通常开发者预览版会在每年 3 月推出,这是迄今为止最早发布的一次。去年谷歌启动了 Android Beta 计划,但今年并没有将第一个预览版本作为 Beta 发布,而是只能手动下载和刷新。也就是说 Android 11 尚未为其他采用者做准备,仅针对开发人员。

Android 11 将带来更好的 5G 体验,以及一系列关于对话功能的改进;对针孔和瀑布屏的支持也是一大亮点。神经网络 API(NNAPI)专为在 Android 设备上运行用于计算机学习的计算密集型操作而设计,在新版本中也得到了优化。

此外,谷歌提供了不少关于隐私和安全的新举措。包括授予一次性临时权限、围绕特定路径范围进行存储、扩展对生物识别的支持等。

在系统方面,Android 11 添加了 12 个新的可更新模块,其中重点包括一个权限模块、一个媒体提供者模块,和一个神经网络 API 模块。新版本还尝试通过提高应用程序的兼容性来使更新速度更快、更流畅,使测试更轻松。

最后,在 Android 11 中,服务器和 Wi-Fi 的连接性得到了增强;图像和相机有了各方面的改进;视频也迎来了低延迟解码。

原文链接

https://android-developers.googleblog.com/2020/05/android-studio-4.html

END前线推出学习交流群,加群一定要备注:研究/工作方向+地点+学校/公司+昵称(如前端+上海+上交+可可),根据格式备注,可更快被通过且邀请进群,领取一份专属学习礼包扫码加我微信进群,内推和技术交流,大佬们零距离历史推荐Docker+VSCode 配置属于自己的炼丹炉
苹果为什么不封杀 Flutter ?
VS Code 成主宰、Vue备受热捧!2020 前端开发趋势指南
官方出品 Python 中文文档!拜托,别再说看不懂了

Android Studio 4.0 重磅发布!Android 11 Bata 版来了!相关推荐

  1. 太秀了!Android Studio 4.0 重磅来袭!Android 11 Bata 版来了!

    点击上方 "程序员小乐"关注, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 One day, you'll be just a memory for s ...

  2. 告别编译运行 ---- Android Studio 2.0 Preview发布Instant Run功能

    以往的Android开发有一个头疼的且拖慢速度的问题,就是你每改一行代码要想看到结果必须要编译运行到手机或者模拟器上,而且需要从头(可能是登录界面)一直点击到你修改的界面为止.开发一个完整的Andro ...

  3. [Android Pro] 告别编译运行 ---- Android Studio 2.0 Preview发布Instant Run功能

    reference to : http://www.cnblogs.com/soaringEveryday/p/4991563.html 以往的Android开发有一个头疼的且拖慢速度的问题,就是你每 ...

  4. android studio islibrary,通过AndroidStudio发布Android Library到Jcenter[超详细]

    这篇文章很长 如果已经对jcenter,maven有了一些概念,可以直接看我的另外一篇精简文章: 快速发布Abdroid Library到JCenter[精简] 开始之前先明白几个概念 maven M ...

  5. Unity UMP Pro Android iOS 2.0.2 发布Android黑屏解决方法

    首先遇到问题还是得好好读读文档. 1.按照链接设置好后进行下一步. 2.第一张图是文档里对Android的设置需求,具体对应参考第二张图片,然后打包app就播放了.我是卡在了ARMMv7这个选项没有勾 ...

  6. Android Studio 4.0 发布

    Android Studio 4.0 已经发布.此版本亮点包括新的 Motion 编辑器:构建分析器,可用于分析构建速度较慢的原因.同时对 CPU Profiler 用户界面进行了大修,提供更加直观的 ...

  7. 极客日报:曝OPPO给离职员工补发年终奖,此前遭克扣;7 亿条领英用户数据被出售;Android Studio 4.2.2 发布

    一分钟速览新闻点! 字节跳动总裁办负责人华巍,重管人力资源团队 华为回应"诺基亚新手机搭载 HarmonyOS "消息不实 曝 OPPO 给离职员工补发年终奖,此前遭克扣 传蔚来挖 ...

  8. android studio m1,Android Studio 4.0发布 为Android 11做好准备

    新的 Motion 编辑器 MotionLayout API扩展了ConstraintLayout丰富的功能,可以帮助 Android 开发管理应用的复杂运动和 widget 动画,在 Android ...

  9. google android plc,Android Studio 4.0发布 为Android 11做好准备

    新的 Motion 编辑器 MotionLayout API扩展了ConstraintLayout丰富的功能,可以帮助 Android 开发管理应用的复杂运动和 widget 动画,在 Android ...

最新文章

  1. 在windows下搭建React Native Android开发环境
  2. 成功解决xgboost.core.XGBoostError: b'[20:58:45] C:\\Users\\Administrator\\Desktop\\xgboost\\dmlc-core\\s
  3. [BTS] WCF-SAP Connect to SAP gateway failed
  4. 经典面试题SALES TAXES思路分析和源码分享
  5. 用户操作计算机的方法,操作者向计算机输入信息最常用的方法是(B).doc
  6. java输出值_java参数传递(超经典)(强烈建议自己先写出程序的输出值)
  7. 【django】 model_to_dict ‘QuerySet‘ object has no attribute ‘_meta‘
  8. 優利系統眾裡尋“她”
  9. XXX required a bean of type ‘XXXXXXXX‘ that could not be found ,博客可帮忙找错
  10. Android 7.0(API 24)以上调用系统安装包问题
  11. docker容器必须要有前台进程
  12. 学习C++心得与值得一看的书
  13. 用c语言编写超级马里奥_编写《超级马里奥兄弟》游戏以学习游戏开发
  14. 射频混频器matlab,射频(RF)采样:数字混频器能使混频操作妙趣横生
  15. 狗是人类最忠诚的伙伴,当狗遇到不同的人会有不同的反应,下面要求编写一个案例模拟狗遇到不同的人时的反应。
  16. 腾讯视频会议真实内部实现分享
  17. Mybatis层次结构图
  18. OpenGL版本查看
  19. 搭建BWAPP靶场(详细过程)
  20. sql要学mysql还是php,MySQL_与MSSQL对比学习MYSQL的心得(一)--基本语法,这一期主要是学习MYSQL的基本 - phpStudy...

热门文章

  1. 魏永明: 三谈操作系统
  2. iOS性能优化 - 耗电优化
  3. 孩子成长-正确吃水果
  4. cad.net开发小结——层次结构
  5. 【云小课合集】华为云小课最全合集来了,让您上云无忧
  6. 【转载】组合模式-系统菜单的设计
  7. 3D渲染技术分享:基于PBR的车漆Shader
  8. 盘点2013it界大事件
  9. 常规PID、模糊PID和神经网络PID
  10. 低碳环保:无服务器和 Kubernetes 原生 Java 部署实践