GVKun编程网logo

构建 Android Studio 项目时如何添加 Stacktrace 或调试选项(android studio怎么添加sdk)

6

在这里,我们将给大家分享关于构建AndroidStudio项目时如何添加Stacktrace或调试选项的知识,让您更了解androidstudio怎么添加sdk的本质,同时也会涉及到如何更有效地And

在这里,我们将给大家分享关于构建 Android Studio 项目时如何添加 Stacktrace 或调试选项的知识,让您更了解android studio怎么添加sdk的本质,同时也会涉及到如何更有效地Android Log.X不打印stacktrace、Android Studio 3.4.1中的“配置文件或调试APK…”选项在哪里消失了?、Android Studio – 如何配置Android Studio以询问项目何时启动?、Android Studio 中 System Trace 的新增功能的内容。

本文目录一览:

构建 Android Studio 项目时如何添加 Stacktrace 或调试选项(android studio怎么添加sdk)

构建 Android Studio 项目时如何添加 Stacktrace 或调试选项(android studio怎么添加sdk)

我试图调查控制台输出中的项目构建错误,如下所示:

:myapp:processDebugResources FAILEDFAILURE: Build failed with an exception.* What went wrong:Execution failed for task '':app:processDebugResources''.......* Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

我怀疑这与找不到资源错误有关。我的问题是,在 IDE 级别如何添加--stacktrace--debug选项,以便它可以生成更多信息供我调试?

答案1

小编典典

您可以使用 GUI 添加这些 gradle 命令行标志

File > Settings > Build, Execution, Deployment > Compiler

对于 MacOS 用户,它就在这里

Android Studio > Preferences > Build, Execution, Deployment > Compiler

像这样(加--stacktrace--debug

在此处输入图像描述

请注意,屏幕截图来自 0.8.10 之前的版本,该选项 不再 位于该Compiler > Gradle部分中,它现在位于名为Compiler(Gradle-based Android Project)

Android Log.X不打印stacktrace

Android Log.X不打印stacktrace

e.printstacktrace()工作正常(即将我的堆栈跟踪打印到stderr),但是Log.X根本无法打印堆栈跟踪.

例如:

} catch (IOException e) {
    Log.e("Network","Exception",e);
    e.printstacktrace();
}

输出:

08-31 03:46:21.992: W/Network(13238): Exception
08-31 03:46:22.092: W/System.err(13238): java.net.UnkNownHostException: Unable to resolve host "...": No address associated with hostname
08-31 03:46:22.204: W/System.err(13238):    at java.net.InetAddress.lookupHostByName(InetAddress.java:394)
08-31 03:46:22.222: W/System.err(13238):    at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
08-31 03:46:22.222: W/System.err(13238):    at java.net.InetAddress.getAllByName(InetAddress.java:214)

解决方法

结果是Android的Log.getStackTraceString被Log.X使用的是UnkNownHostException.

总结

以上是小编为你收集整理的Android Log.X不打印stacktrace全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

Android Studio 3.4.1中的“配置文件或调试APK…”选项在哪里消失了?

Android Studio 3.4.1中的“配置文件或调试APK…”选项在哪里消失了?

Android Studio过去可以选择从文件->个人资料或调试APK调试现有的APK.我在Android Studio 3.4版中使用了它.现在在3.4.1版中,我找不到它.

有人知道该选项是否已从Android Studio中删除或在哪里可以找到?

解决方法:

我遇到了同样的问题,这是我解决的方法.

我已禁用APK和NDK支持,希望它可以加快我的IDE的速度.我忘了重新打开它们.所以我进入了“偏好设置”>插件,如果尚未安装,请安装Android NDK和Android APK支持.如果已经安装了它们,请勾选“ Android APK支持”,如果尚未启用,则将提示您启用“ Android NDK支持”.

Android Studio – 如何配置Android Studio以询问项目何时启动?

Android Studio – 如何配置Android Studio以询问项目何时启动?

当我打开Android Studio IDE时,他们打开我选择的最后一个项目:

我希望Android Studio向我询问有关要打开的项目,我该怎么做?

解决方法:

您只需要取消选中Android Studio默认设置检查的一项内容即可.

像这样做,

转到文件 – >设置或按(Ctrl Alt S)

在IDE Settings选项卡下,从窗口左侧选择General Option

设置将出现在右侧,现在只需取消选中在启动时重新打开上一个项目

然后单击底部的“应用”和“确定”按钮.

现在,每当您关闭Android-Studio时,您的项目都将关闭,因此它将打开一个窗口来选择项目

Android Studio 中 System Trace 的新增功能

Android Studio 中 System Trace 的新增功能

在 Android Studio 4.0 中,我们已经对 CPU Profiler 的 UI 做了大量调整来提供更加直观的工作流记录,而在 Android Studio 4.1 中,我们基于开发者们的反馈对此功能进行了持续改进,并且新增了更多特性。

我们将会在本文重点介绍 Android Studio 中 System Trace 的新增功能,System Trace 也就是 "系统跟踪" 的意思,用来记录短时间内的设备活动,它会生成一个 .trace 跟踪文件,该文件可用于生成系统报告,此报告可帮助您了解如何最有效地提升应用或游戏的性能。System Trace 虽然使用率不高,但它是一款功能强大的 CPU 记录配置。不同于函数跟踪,如 Java Method 或 C/C++ Func Trace,System Trace 跟踪的是系统级的内容,如设备活动 (例如 CPU 核心调度) 和 Android 系统进程 (例如 SurfaceFlinger)。此外,您还可以通过在应用中调用 Trace API,使用 自定义事件 检测您的代码,这样您的自定义事件便会与系统事件一起被收集。当您在排查性能问题时 (例如 UI 卡顿或功耗过高),这些组合数据就会显得十分有用。

一次搞定所有线程

为了便于进行分析,我们将 CPU 的记录从主分析器的时间线中分离了出来。在这个专用视图中,跟踪数据被整理到了 Profiler 窗口的左侧区域中。

Android Studio 4.1 Beta 1 中的 System Trace 界面

Android Studio 4.1 Beta 1 中的 System Trace 界面

您可以通过简单拖拽将某一区域或者区域内的某个元素进行向上或向下移动来重新组织列表。

我们从开发者们的反馈得知,选择每个线程来查看它的调用图 (或 System Trace 的跟踪事件) 是一件很麻烦的事,所以我们将所有线程活动整合到了同一个视图中,从而可以在显示线程状态的同时显示调用图。默认情况下,我们根据线程的繁忙程度对其进行排序,但是您也可以拖放任意一个线程以对其重新排序。

拖放线程来改变列表顺序

拖放线程来改变列表顺序

您也可以通过单击三角形图标或双击线程名称来折叠或展开每个线程。注意,对于 Java Method Trace 和 C/C++ Function Trace,由于调用栈很深,我们默认情况下会折叠所有线程视图,以便您可以一目了然地查看所有线程数据。

C/C++ Function Trace 默认以折叠状态展示线程数据

C/C++ Function Trace 默认以折叠状态展示线程数据

为了便于区分,现在每个 System Trace 的跟踪事件都有一个独立的颜色。

System Trace 事件按命名添加了对应颜色

System Trace 事件按命名添加了对应颜色

更加直观的导航

新的 Trace UI 使用了改进的时间轴导航方案,我们用主要 - 细节视图替换了以前的水平滚动条。

在顶部,您可以看到一个时间轴,它仅仅映射了跟踪过程而不是整个分析过程。您可以使用范围选择器快速缩小范围到特定的时间段,而下面的部分则会显示对应的详细数据。

使用范围选择器来专注于时间轴的一小部分

使用范围选择器来专注于时间轴的一小部分

在这里您可以进行更加精细的导航操作:

  • 使用 Ctrl (在 Mac 上为 Cmd) + 鼠标滚轮进行缩放;
  • 按住空格键的同时左右拖动鼠标可平移视图;
  • 使用 "WASD" 键缩放和平移视图,就像 Chrome 中的旧版 SysTrace UI 一样 (chrome://tracing)。

从 Android Studio 4.1 Canary 9 开始,您可以通过拖动鼠标在  Thread  部分进行框选。这一操作使您可以精确地选择一个矩形区域,并且只要点击右上角的  Zoom to Selection  (或 "M" 键) 便可以放大该区域。您甚至可以跨越多个线程执行选择操作,这个特性在您把相似线程拖放到一起进行检视时十分有用。举例来说,您也许会想对多个辅助线程进行分析,而这种场景在游戏开发中很常见。

框选、拖放与缩放

框选、拖放与缩放

分析面板

说到分析,我们想着重聊一聊 Android Studio 4.0 中引入的新  Analysis Panel ,它位于  Profiler 窗口的右边一列。

基于您所选择的跟踪记录,在这里可以找到相应的分析数据。当您在左边栏中选择一个线程、堆栈帧或者跟踪事件时,Analysis Panel 将会显示对应的特定信息。举例来说,当您选择了一个线程时,该线程的状态与其他一些有用的信息就会被显示出来。

我们希望 Analysis Panel 能对您有所帮助,所以我们一直在探索使用各种形式来展示这些有用的分析数据。在 CPU Profiler 中,我们已经有了 Top Down、Flame Chart 和 Bottom Up。作为补充,我们在 Android Studio 4.1 Canary 10 中添加了  Summary  选项卡,用于展示线程状态分布、跟踪事件统计等信息。举例来说,我们经常需要深入了解一个反复出现的跟踪事件。Summary 选项卡会显示基本的统计信息 (如计数,最小值,最大值等) 以及所选跟踪事件中运行时间最长的一次事件。您也可以通过从表中选择一行来导航到另一个事件。

统计信息以及跟踪事件中运行时间最长的事件

统计信息以及跟踪事件中运行时间最长的事件

稳定性与性能改进

最后但也同样重要的是,我们还改进了 CPU 记录的性能和稳定性:

  • 我们修复了一些可能导致记录失败的 Bug;
  • 我们从 Android API level 28 开始使用 Perfetto 作为 System Trace 的后台,从而可以从 Android 平台的最新检测技术中获益;
  • 我们还优化了 profiler 的代码,从而显著减少了解析跟踪记录时的内存消耗 (最多达 80%)。这样您便可以开启和解析更长的跟踪信息。请记住,您可以增加 Android Studio 的 最大堆容量 来支持更长时间的追踪。

下载最新的 Android Studio 4.1 预览版 可以尝鲜本文介绍的新特性。也同样欢迎大家 反馈。

关于构建 Android Studio 项目时如何添加 Stacktrace 或调试选项android studio怎么添加sdk的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Android Log.X不打印stacktrace、Android Studio 3.4.1中的“配置文件或调试APK…”选项在哪里消失了?、Android Studio – 如何配置Android Studio以询问项目何时启动?、Android Studio 中 System Trace 的新增功能等相关知识的信息别忘了在本站进行查找喔。

本文标签: