经历众多的测试版本后,谷歌终于发布了Android Studio 3.6的正式版本,这是Project Marble结束之后的第一个版本,增加了一些小功能,完善了现有的功能,解决了功能上的问题,改善了性能。可以通过下载地址https://developer.android.com/studio#downloads下载,或者使用AS中的Help菜单下的Check for Updates进行应用内升级。
在之前版本的设计编辑器(例如布局编辑器和导航编辑器)中切换代码和布局,需要切换左下角的Design和Text,如果想要同时显示代码和布局,还需要点击"Preview"。而在AS 3.6中改为了拆分视图,在右上角有三个按钮:Code,Split,Design。可以随意切换,而且会保留信息(例如缩放系数)。使用示意图如下,
关于更详细的介绍可以查看文章https://medium.com/androiddevelopers/android-studio-design-tools-ux-changes-split-view-dcde75e88a0c
在AS 3.6中新增了一个拾色器资源选项卡,更容易设置颜色资源的颜色。当需要使用已经定义的颜色资源时,可以打开颜色选择器进行选择,如下图
视图绑定是AS 3.6新增的一个功能,可以参考之前的文章https://blog.csdn.net/jklwan/article/details/102767871。它可以有效的防止空指针,强制类型转换异常等问题(在编译时就会报错而不是运行时),可以放心替换findViewById。想启用视图绑定,需要在module的build.gradle配置开启(前提是使用Android Gradle Plugin 3.6.0)
android {
viewBinding {
enabled = true
}
}
Android NDK支持更新
Android Studio 中的以下 NDK 功能以前在 Java 中受支持,现在也在 Kotlin 中受支持:
从 JNI 声明转到 C/C++ 中的对应实现函数。只需将鼠标悬停在托管源代码文件中的行号附近的 C 或 C++ 项标记上方,即可查看此映射。 自动为 JNI 声明创建存根实现函数。首先定义 JNI 声明,然后输入"jni"或 C/C++ 文件中的方法名称进行激活。未使用的原生实现函数会在源代码中突出显示为警告。缺少实现的 JNI 声明也会突出显示为错误。 如果您重命名(重构)某个原生实现函数,则所有对应的 JNI 声明都会更新。重命名 JNI 声明可更新原生实现函数。 对隐式绑定的 JNI 实现进行签名检查。
其他关于 JNI 的改进
外观显示
JNI 实现函数中会显示参数和返回值的类型提示。 经过 JNI 重整的函数名称可以折叠。RegisterNatives 支持
自动补全方法声明名称、参数类型和返回类型。对方法声明名称进行重命名重构。 对绑定 JNI 函数进行签名检查。
有关 JNI 函数的其他帮助
对于以下函数中的字符串字面量的自动补全、检查、导航和重命名重构支持: FindClass GetMethodID 和 GetStaticMethodID GetFieldID 和 GetStaticFieldID 针对以下函数的各种检查: Call[Static]Method CallNonvirtualMethod Get[Static]Field NewObject IntelliJ平台更新核心 Android Studio IDE 已更新,纳入了 IntelliJ IDEA(直到 2019.2版本 )中的相关改进,如“Services”工具窗口,新的UI界面,文件显示大小及修改时间等等。
Apply Changes功能更新现在你可以添加一个类,然后使用Apply Changes即可生效,不必重新启动应用。
构建 Android Gradle Plugin(AGP)更新AGP 3.6及以上版本支持 Maven Publish 插件,这个插件可让您将构建工件发布到 Apache Maven 代码库。AGP会为应用或库模块中的每个构建变体工件创建一个组件,您可以使用它来自定义要发布到 Maven 代码库的发布内容。
此外,AGP 3.6对大型项目的注解处理器(APT/ KAPT)有显著的性能提升,这是因为AGP现在直接生成R类字节码而不是.java文件。
注:使用AGP 3.6需要Gradle版本5.6.4之上。
使用 AGP 3.6或更高版本来构建应用的调试版本时,该插件会使用一个新的打包工具(zipflinger)来构建 APK。这一新工具应该能够提高构建速度。不过如果使用过程中遇到问题,可以报告错误,也可以通过在 gradle.properties 文件中添加以下内容来恢复使用旧的打包工具:
Android Emulator 29.2.12为应用程序开发人员提供了一种与仿真设备位置交互的新方法。现在将Google Maps用户界面嵌入了扩展控件菜单中,可以更容易指定位置并从成对的位置构造路线。可以保存各个点并将其作为虚拟位置重新发送到设备,也可以通过键入地址或单击两个点来生成路线。这些路线可以实时重播,因为路线上的位置被发送到客户操作系统。
Android Emulator 29.1.10包含了对多个虚拟显示器的初步支持。随着具有多个可用显示器的设备的增多,在各种多显示器的配置的机器上测试应用非常重要。用户可以通过设置菜单(扩展控件 > 设置)配置多个显示。
使用 SDK 管理器下载 SDK 组件和工具时,Android Studio 现在允许您恢复已中断的下载(例如由于网络问题),而不是从头开始重新下载。当互联网连接不可靠时,此增强功能对大量数据的下载(如 Android 模拟器或系统映像)特别有用。
此外,如果您在后台运行 SDK 下载任务,现在可以使用状态栏中的控件暂停或恢复下载。
当项目中的 APK 在 IDE 之外进行了更新时,您不再需要创建新项目。Android Studio 会检测 APK 中的更改,并为您提供用于重新导入 APK 的选项。
在 Memory Profiler 中分析堆转储时,您现在可以过滤 Android Studio 认为可能表明应用中的 Activity 和 Fragment 实例存在内存泄漏的分析数据。
过滤器显示的数据类型包括:
在某些情况(如以下情况)下,过滤器可能会产生误报:
已创建 Fragment,但尚未使用它。 正在缓存 Fragment,但它不是 FragmentTransaction 的一部分。要使用此功能,请先捕获堆转储或将堆转储文件导入 Android Studio。要显示可能泄漏内存的 Fragment 和 Activity,请选中 Memory Profiler 的堆转储窗格中的 Activity/Fragment Leaks 复选框。
在 APK 分析器中对类和方法字节码进行去混淆处理
检查 DEX 文件时,APK 分析器现在支持对类和方法字节码进行去混淆处理。要对字节码进行去混淆处理,请按以下步骤操作:
从菜单栏中依次选择 Build > Analyze APK。 在出现的对话框中,转到要检查的 APK 并选择该 APK。 点击Open。 在 APK 分析器中,选择要检查的 DEX 文件。 在 DEX 文件查看器中,为要分析的 APK 加载 ProGuard映射文件。 右键点击要检查的类或方法,然后选择 Show bytecode。 将纯 Kotlin APK 源代码附加到分析器现在,当分析和调试预构建的 APK 时,可以附加纯 Kotlin 外部 APK 源代码。
请按照附加 Java 文件 (.java) 的用户指南中的说明进行操作,但应选择Kotlin 源文件 (.kt)。
要启用或停用 Gradle 离线模式,请先从菜单栏中依次选择 View > Tool Windows > Gradle。然后,在 Gradle 窗口顶部附近,点击 Toggle Offline Mode 图标。
注:谷歌现在建议使用64位系统,将逐渐放弃32位系统的支持,希望大家注意(做开发的应该也没几个使用32位系统的了吧,32位系统的内存实在太小了)。
作者:jklwan