android studio3.2预览版本已经发布了,下面这些功能在最新的版本已经提供,但可能还没有在测试版本中发布渠道中提供。android
Android Studio 3.2有一个新的Assistant面板,能够通知您有关Android Studio的最新更改。安全
若是检测到有新信息要显示,那么当您启动Android Studio时,该面板将打开。您还能够经过选择Help> Android Studio中的新增功能来打开“Assistant”面板 。bash
Android Jetpack经过组件,工具和指导来帮助加速Android开发,消除重复性任务,并使您可以更快,更轻松地构建高质量,可测试的应用程序。Android Studio包含如下更新以支持Jetpack。有关更多信息,请参阅Jetpack文档。网络
新的导航编辑器与Android Jetpack的导航组件集成,为建立应用的导航结构提供图形视图。导航编辑器简化了应用内目的地之间导航的设计和实现。session
要了解更多信息,请阅读 导航编辑器文档。编辑器
做为Jetpack的一部分,咱们正在使用androidx命名空间将Android支持库重构为新的Android扩展库。有关更多信息,请阅读 AndroidX公告。ide
Android Studio 3.2经过新的重构功能帮助您完成此迁移。工具
要将现有项目重构为AndroidX,请选择“ Refactor”>“Refactor to AndroidX”。若是您有任何未迁移到AndroidX名称空间的Maven依赖关系,Android Studio生成系统也会自动转换这些项目依赖关系。布局
Android Gradle插件提供了您能够在gradle.properties文件中设置的如下全局标志:测试
android.useAndroidX:设置true为时,此标志表示您但愿从如今开始使用AndroidX。若是该标志不存在,Android Studio的行为就将该标志已设置为false。
android.enableJetifier:设置true为该标志时,表示您但愿得到工具支持(经过Android Gradle插件)自动将现有的第三方库转换为与AndroidX相同的库。若是该标志不存在,Android Studio的行为就将该标志已设置为false。
若是您不想迁移,请将两个标志设置为false。(这至关于文件中没有标志gradle.properties。)
当您使用Refactor to AndroidX命令或建立一个minSdkVersion设置为“P” 的新项目时,这两个标志都会设置为true。
重要提示:在当前的Android Studio 3.2 Canary版本中,存在一个已知问题,致使在android.useAndroidX使用“ 建立新项目”向导时不设置标志。目前,您须要在gradle.properties文件中手动设置标志。
若是您想当即开始使用AndroidX库,而且不须要转换现有的第三方库,则能够将android.useAndroidX标志设置 为true,并将 android.enableJetifier标志设置为false。
Android App Bundle是一种新的上传格式,其中包含应用程序的全部已编译代码和资源,但会延迟APK生成并登陆到Google Play商店。
Google Play的新应用服务模型称为动态投放,而后使用您的应用捆绑软件为每一个用户的设备配置生成并提供优化的APK,所以每一个用户只下载运行您的应用所需的代码和资源。您再也不须要构建,签名和管理多个APK,而且用户能够得到更小,更优化的下载。
此外,您能够将动态功能模块添加到您的应用程序项目中,并将其包含在应用程序包中。经过动态交付,用户能够根据须要下载和安装应用的动态功能。
要构建一个包,请选择Build> Build Bundle(s)/ APK(s)> Build Bundle(s)。
有关更多信息(包括构建和分析Android应用程序包的说明),请参阅Android应用程序包 入门。
许多Android布局具备运行时数据,这使得在应用程序开发的设计阶段难以可视化布局的外观和感受。您如今能够在布局编辑器中轻松查看您的视图预览,其中包含示例数据。添加视图时, 在“Design”窗口中的视图下方会出现一个设置按钮 。点击此按钮设置设计时视图属性。您能够从各类样本数据模板中进行选择,并指定用于填充视图的样本项目数。
要尝试使用示例数据,请将其添加 RecyclerView 到新布局,单击设计视图下方的设计时属性按钮 ,而后从样本数据模板轮播中选择一个选择。
Silces提供了一种将Android应用程序的部分功能嵌入到其余用户界面表面的新方法。例如,Silces能够在Google搜索建议中显示应用功能和内容。
Android Studio 3.2具备内置模板,可帮助您使用新的Slice Provider API扩展您的应用程序以及新的lint检查,以确保在构建切片时遵循最佳作法。
要开始使用,请右键单击项目文件夹并选择New > Other > Slice Provider。
要了解更多信息,包括如何测试Silces交互,请阅读Silces入门指南。
在最新版本的Android Studio 3.2上尝试如下新的Android Profiler功能。
Energy Profiler显示应用程序的估计能源使用状况的可视化。
当您在运行Android 8.0(API 26)或更高版本的链接设备或Android模拟器上运行应用程序时,Energy Profiler会显示为Profiler窗口底部的新行。
点击Energy行,最大化Energy Profiler视图。将鼠标指针放在时间线上的条形图上,查看CPU,网络和位置(GPS)资源以及系统事件(如唤醒锁,警报和做业)的能源使用状况。
您如今能够将Profiler数据保存为“会话”以便稍后从新访问和检查。(分析器会保留会话数据,直到您从新启动IDE。)
经过从主菜单中选择Run > Profile来部署应用程序后,经过单击+并从下拉菜单中选择一个应用程序进程来启动一个新的会话 。
当您 录制方法跟踪或 捕获堆转储时,IDE会将该数据(连同您的应用的网络活动)做为单独条目添加到当前会话中,而且您能够轻松地在录制之间来回切换以比较数据。要中止向当前会话添加数据,请单击stop。
在CPU profiler中,选择新的 System Trace 配置以检查设备的系统CPU和线程活动。此跟踪配置基于 systrace 而且对于调查系统级问题(例如用户界面异常)很是有用。
在使用这种新的跟踪配置时,您能够经过在Trace类中安装代码,直观地在Profiler时间线中标记重要的代码例程。
若是您将应用部署到运行Android 8.0(API级别26)或更高级别的设备,则如今可使用Memory Profiler检查应用的JNI代码的内存分配状况 。
在您的应用程序运行时,选择您想要检查的部分时间轴,而后从班级列表上方的下拉菜单中选择 JNI heap,而后,您能够像日常同样检查堆中的对象,而后在“ Allocation Call Stack ”选项卡中双击对象以查看JNI引用在您的代码中分配和释放的位置。
您如今能够在应用程序启动期间记录CPU活动:
从主菜单中选择Run > Edit Configurations。
在所需运行配置的“Profiling”选项卡下,选中启动时记录方法跟踪旁边的复选框。
从下拉菜单中选择要使用的CPU记录配置。
经过选择Run > Profile将应用程序部署到运行Android 8.0(API级别26)或更高版本的设备。
在使用CPU分析器记录CPU活动以后,能够将数据导出为.trace文件以便与其余人共享或稍后检查。
在记录CPU活动后导出轨迹,请执行如下操做:
右键单击要从CPU时间轴导出的录像。
从下拉菜单中选择Export trace。
导航至要保存文件的位置,而后单击保存。
您如今能够导入并检查.trace使用调试API或 CPU分析器建立的文件 。(目前,您不能导入系统跟踪记录。)
经过单击Profiler的Sessions窗格中的Start new profiler session 导入您的跟踪文件,而后选择从Load from file。而后,您能够在CPU分析器中检查其数据,但有一些例外状况:
CPU活动不是沿着CPU时间轴表示的。
线程活动时间线仅指示每一个线程可用的跟踪数据的位置,而不是实际的线程状态(如正在运行,正在等待或正在休眠)。
您如今能够经过调试API来启动和中止在CPU分析器中记录CPU活动。将应用程序部署到设备后,配置程序会在应用程序调用时自动开始记录CPU活动 startMethodTracing(String tracePath),而且配置程序在您的应用程序调用时中止记录 stopMethodTracing()。在记录使用此API触发的CPU活动时,CPU分析器将调试API显示 为选定的CPU记录配置。
为了确保您的Java代码与Kotlin代码良好的互操做性,新的lint检查会执行Kotlin Interop Guide中描述的最佳实践 。这些检查包括查找Nullability注释的存在,使用Kotlin硬关键字,最后放置lambda参数等等。
除了上一节中介绍的Kotlin互操做性lint检查以外,Android Studio 3.2还实现了20个新的lint检查,以帮助您查找和识别常见代码问题。这些新的检查范围从关于潜在可用性问题的警告到关于潜在安全漏洞的高优先级错误。
使用新的lintFixGradle任务将lint检查建议的全部安全修复直接应用于源代码。建议使用安全修复程序的皮棉检查的一个示例是SyntheticAccessor。
各类元数据(如服务转换检查)已更新用于lint检查,以与Android P Developer Preview一块儿使用。
Lint如今记录了一个基线记录的变体和版本,而且若是您在与建立基线的变体不一样的变体上运行它,lint会警告您。
Android Studio 3.2包含对现有lint检查的许多改进。例如,资源循环检查如今适用于其余资源类型,而且翻译检测器如今能够在编辑器中即时查找缺失的翻译。
问题ID如今显示在更多位置,包括“Inspection Results” 窗口中,使您更容易找到启用或禁用特定检查lintOptions的信息build.gradle。
Data Binding V2如今默认启用而且与V1兼容。这意味着,若是您有使用V1编译的库依赖项,则能够将它们与使用Data Binding V2的项目一块儿使用。可是请注意,使用V1的项目没法使用经过V2编译的依赖项。
在Android Studio 3.1中,咱们将Dug工具做为实验性功能整合到了D8工具中,从而缩短了总体构建时间。如今,在Android Studio 3.2中,默认状况下会打开D8的解除绑定。
R8是替代ProGuard的代码缩小和混淆的新工具。您能够经过在项目gradle.properties文件中包含如下内容来开始使用R8的预览版本:
android.enableR8 = true
复制代码
当创建多个APK每一个目标不一样的ABI,插件再也不产生用于默认如下的ABI的APK: ,mips,mips64和armeabi。
若是您想构建以这些ABI为目标的APK,则必须使用 NDK r16b或更低版本,并在build.gradle文件中指定ABI ,以下所示:
splits {
abi {
include 'armeabi', 'mips', 'mips64'
...
}
}
复制代码
若是您使用CMake 将C和C ++代码添加到项目中,那么Android Studio如今包含改进的编辑器功能,同时编辑您的CMake构建脚本,例如:
语法突出显示和代码完成: IDE如今突出显示并建议通用CMake命令的代码完成。此外,您能够经过在按下Control键(或MacOS上的命令)时点击文件来导航到文件。
代码从新格式化:您如今可使用 IntelliJ的代码从新格式化选项 来将代码样式应用于您的CMake构建脚本。
安全重构: IDE内置的重构工具如今还能够检查您是否重命名或删除了在CMake构建脚本中引用的文件。
在之前版本的Android Studio中使用Project窗口时,只能浏览和检查属于您从本地项目构建的库的头文件。经过此版本,您如今还能够查看和检查包含在导入到应用项目中的外部C / C ++库依赖项的头文件。
若是您的项目中已 包含C / C ++代码和库,请经过从主菜单中选择View > Tool Windows > Projec并从下拉菜单中选择Android,打开IDE左侧的项目窗口。在cpp 目录中,位于应用程序项目范围内的全部头文件都将在每一个本地C / C ++库依赖项的include节点下进行组织。
新的ADB链接助手提供分步说明以帮助您经过Android调试桥(ADB)链接设置和使用设备。
要启动助理,请选择Tools > Connection Assistant。
ADB链接助手在“ Assistant”面板的一系列页面中提供说明,上下文控制以及链接设备的列表。
您如今能够随时在Android模拟器中保存并加载AVD(Android虚拟设备)的快照,从而能够快速轻松地将模拟设备返回到已知状态进行测试。当您使用AVD管理器编辑AVD时,您能够指定在AVD启动时加载哪一个AVD快照。
用于保存,加载和管理AVD快照的控件如今位于模拟器Extended controls窗口的“ Snapshots”选项卡中。
更多文章请关注个人公众号: