Android Studio 4.1正式版发布

简介

在10月12日,谷歌发布了的Android Studio 4.1的稳定版本,其中包含了解决常见的编辑,调试和优化的一系列功能。此版本主要是帮助开发人员使用Android Jetpack库时提高工作效率。
Android Studio 4.1的一些亮点包括:Material Design Components的更新;新的数据库检查器;Dagger Navigation Support;Apply Changes的升级;其他的一些优化。

Design

Material Design Components updates

现在**“Create New Project”**对话框中的 Android Studio 模板使用"Material Design Components (MDC)",并且默认情况下符合主题和样式的更新指南。这些更改使开发者使用推荐的样式或深色主题等现代UI功能更加容易。
Material Design Components updates in Project Templates
更新包含以下内容:

  • MDC:项目在build.gradle中依赖com.google.android.material:material。Base app themes使用Theme.MaterialComponents.*的父级,并覆盖更新MDC颜色的属性。
  • Color resources:colors.xml使用文字名称的颜色资源(例如 purple_500代替了colorPrimary)
  • Theme resources:主题资源现在位于 themes.xml(而不是 styles.xml)中并使用名称Theme.
  • Dark theme:Base application themes 使用 DayNight 的父级,并且在 res/values 和res/values-night 之间区分开来。
  • Theme attributes :颜色资源在布局和样式中被称为主题属性(例如 ?attr/colorPrimary ),以避免硬编码的颜色。

Develop

Database Inspector

使用新的Database Inspector可以帮助开发者更简单的检查,查询和修改应用中的数据库。首先,应用需要运行在API26或更高级别的设备上,然后在菜单栏上依次选择 View > Tool Windows > Database Inspector即可打开数据库检查器。无论应用是直接使用的Jetpack Room还是使用的Android本身的SQLite,都可以轻松的检查正在运行的应用程序中的数据库和表,也可以运行自定的查询。
因为Android Studio在检查应用时会保持实时连接,因此还可以使用Database Inspector修改值,并在运行中的应用中可以实时查看到这些更改。如果使用的是Room数据库,Android Studio还会在代码编辑器中的每个查询旁边放置运行按钮,以帮助快速运行在**@Query**注解中定义的查询内容。可以打开此链接学习到更多关于Database Inspector的内容。
Inspect, query, and modify your app’s databases with the Database Inspector

直接在Android Studio中运行Android模拟器

现在可以直接在Android Studio中运行Android模拟器。使用此功能可以节省屏幕空间,使用热键在模拟器和编辑器窗口之间快速导航,以及在单个应用程序窗口中组织IDE和模拟器工作流程。可以在Studio中管理快照和常见的模拟器操作,例如旋转和获取屏幕截图,但是要访问全部选项,仍然需要运行稳定的模拟器。使用此功能需要打开File → Settings → Tools → Emulator →选中 Launch in Tool Window来启用。
Run the Android Emulator inside of Android Studio

Dagger Navigation Support

Dagger是Android上用于依赖注入的流行库。Android Studio通过提供新的装订线操作并扩展了“Find Usages”窗口中的支持,使在Dagger相关代码之间导航变得更加容易。
例如,单击装订线
使用给定类型的方法旁边的装订线操作,可导航到该类型的提供程序。
相反,单击
装订线
装订线操作会导航到将类型用作依赖项的位置。
打开此链接可以查看更多相关内容。
Navigate between Dagger-related code with gutter actions

Use TensorFlow Lite models

使用ML Model Binding现在可以轻松的导入.tflite模型文件并使用。Android Studio生成易于使用的类,因此可以用更少的代码和更好的类型安全性来运行模型。ML Model Binding当前实现支持图像分类和样式转移模型,前提是它们通过元数据得到了增强。
参考此链接可以查看更多相关内容。
Use TensorFlow Lite models

Build & Test

Android Emulator - Foldable Hinge Support

除了在Android模拟器中添加了5G网络支持外,还添加了可折叠屏设备的支持。使用Android模拟器30.0.26及更高版本,可以配置具有多种折叠设计和配置的可折叠设备。配置可折叠设备后,可以改变设备的折叠角度来测试应用显示效果。
更多内容可以参考博客文章
Foldable Hinge

更新Apply Changes

对Android 11或更高版本的设备的"Apply Changes"进行了多项增强。更多内容参考博客文章

Export C/C++ dependencies from AARs

Android Gradle Plugin(AGP) 4.0添加了从AAR依赖项导入Prefab package的功能。而在AGP 4.1 中已经支持共享native库。如果想导出native库,需要在project的build.gradle中添加以下类似代码

buildFeatures {
    
    
    prefabPublishing true
}

prefab {
    
    
    mylibrary {
    
    
      headers "src/main/cpp/mylibrary/include"
    }

    myotherlibrary {
    
    
        headers "src/main/cpp/myotherlibrary/include"
    }
}

Symbolification for native crash reports

当本机代码发生崩溃或ANR时,系统会生成堆栈跟踪,该跟踪是程序崩溃之前在程序中调用的方法序列的快照。这些快照可以帮助开发者识别和修复代码中的问题,但是必须要先把机器码转换为可读的代码。
如果应用是使用C++代码开发的,要将调试符号包含在应用包中,需要在module中的build.gradle添加以下代码

android.buildTypes.release.ndk.debugSymbolLevel = 'SYMBOL_TABLE'

Optimize

System Trace UI 改进

在Android Studio 4.1中,System Trace有了比较大的优化,此工具可以实时查看应用的资源使用情况。通过Box selection,我们可以更轻松地选择迹线,添加了新的Summary tab,并添加了更多的Display data,可以用来查找应用程序UI中的渲染问题。参考此链接可以查看更多相关信息。

  • Box selection:现在,在Threads 部分中,可以通过拖动鼠标来选择矩形区域,然后单击右上角的Zoom to Selection来放大改区域(或使用键盘上的M快捷键)。当将相似的线程彼此相邻拖放时,可以跨多个线程进行选择以一次检查所有线程。
    Box selection
  • Summary tab:"Summary"面板中新的“Analysis”选项卡显示:
    • 汇总特定事件的所有发生次数的统计信息,例如发生次数和最小/最大持续时间。
    • 跟踪选定事件的事件统计信息。
    • 有关线程状态分布的数据。
    • 所选跟踪事件的最长运行时间。
      Summary tab
  • Display data :在“Display”部分,SurfaceFlinger 和 VSYNC 的新时间线可以帮助开发者调查应用程序UI中的渲染问题。

Standalone profilers

当使用其他工具(如Unity或Visual Studio)构建Android 游戏应用时,可以使用独立的profiler工具分析应用。
要运行独立的profiler,需要以下操作:

  1. 确保Android Studio中的profiler工具未运行
  2. 转到AS安装目录并导航到bin目录

    Windows / Linux:<studio-installation-folder>\bin
    macOS:<studio-installation-folder>/Contents/bin

  3. 根据操作系统,运行profiler.exe或profiler.sh

独立的profiler将允许连接到模拟器或任何连接的设备上。
profiler

Native Memory Profiler

Native Memory Profiler可以帮助游戏开发人员或其他使用C++的开发人员了解内存的使用情况。当应用在Android 10或更高版本的设备上时Android Studio Memory Profiler会包括Native Memory Profiler。参考官方文档可以查看更多内容。
Native Memory Profiler

其他

AGP 4.1

参考官方文档

IntelliJ IDEA 2020.1

Android Studio IDE版本已更新。git版本控制样式已修改;commit弹窗可以切换;新的Zen模式(可通过选择View> Appearance> Enter Distraction Free Mode进行切换)。

IDE配置目录更改

Windows

Syntax: %APPDATA%\Google<product><version>
例如: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

macOS

Syntax: ~/Library/Application Support/Google/<product><version>
例如: ~/Library/Application Support/Google/AndroidStudio4.1

Linux

Syntax: ~/.config/Google/<product><version>
例如: ~/.config/Google/AndroidStudio4.1

猜你喜欢

转载自blog.csdn.net/jklwan/article/details/109091081