31

我正在尝试使用Android SDK 中的Systrace工具生成跟踪报告,但我无法在浏览器中查看报告。它是空白的,不包含任何信息。我在一些论坛上读到我需要在 Chrome 浏览器中打开报告,我也用 Chrome 打开它但报告是空白的。

我已经从开发人员选项中启用了 USB 调试,并且设备正在运行 Android 4.2,并且我正在使用Android SDK 中的DDMS工具来生成跟踪。

http://developer.android.com/tools/help/systrace.html

4

12 回答 12

69

首先,如果有人在 OS X 或 Windows 上使用 Chrome v50.0+,请尝试一下。

  1. 打开 chrome 浏览器并转到“chrome://tracing”

  2. 在跟踪页面中,单击加载并选择 systrace 生成的 html 文件。

其次,我认为这是一个由谷歌确认的错误。

看起来这是因为现代版本的 Chrome 已弃用 Object.observe 函数[1][2]。

有关更多信息,请参阅https://code.google.com/p/android/issues/detail?id=57135

于 2016-05-23T12:39:40.413 回答
4

我在linux上运行chrome也有这个问题。

似乎他们在绘制结果的 javascript 实现中存在错误。

检查 JavaScript 控制台。我的说。

未捕获的类型错误:未定义不是函数

于 2013-07-19T15:52:35.967 回答
3

在 Windows 上,我可以通过这样做看到结果:

  1. 获取trace.html
  2. 用chrome浏览器打开trace.html并打开chrome的开发者工具然后我发现trace.html中有3个错误 显示如下
  3. 转到错误行,然后 像这样注释错误函数
  4. 保存修改后的html然后刷新chrome,就可以看到trace结果了

这不是最好的解决方案,但我们可以通过任何方式看到结果。

于 2016-05-23T15:05:44.063 回答
1

在 Ubuntu 12.04 上通过 eclipse 捕获时我遇到了同样的问题。

通过直接从 systrace 文件夹 (sdk/tools/systrace/) 运行该工具来解决它

./systrace.py -t 5 -o trace.html
于 2013-08-12T14:10:03.787 回答
0

在尝试在 Firefox 37.0.1 上打开 Systrace 生成的 html 文件(大约 10 MB)时,我也遇到了类似的问题。然而,相同的文件在 Chromium 版本 37.0.2062.120 Ubuntu 12.04 (281580)(64 位)上运行良好。

于 2015-04-08T13:27:37.673 回答
0

使用 SDK 管理器更新您的 SDK,选择要更新的工具和平台工具。按照正常程序,就是这样。建议使用 Chrome 来查看结果。

于 2013-09-02T18:23:29.123 回答
0

对我来说,它不适用于 Firefox v34,但适用于 Chrome v37,而我使用的是 Ubuntu 12.04。

于 2015-02-22T18:06:00.597 回答
0

我通过更新SDK解决了这个问题,使用SDK管理器选择工具和平台工具进行更新,你就完成了。Python 脚本在 Windows 上不起作用。但是即使trace.html生成了并且可以看到,当数据溢出时,也无法看到页面的底部。这是因为 wasd 导航不足以使用所需的滚动条。

为此,您需要:

  • 如果您在 Linux 中修改 Python 脚本并消除所overflow:hidden找到的任何位置。
  • 如果您使用的是 SDK,请编辑trace.html并删除overflow:hidden找到的位置。

希望对您有所帮助,如果 Google 中的某个人可以在源代码上解决此问题,那就太好了。

于 2013-09-04T15:52:50.090 回答
0

我刚刚发现无法在 IE/Firefox/Chrome 中打开的我的 trace.html,在最新的 Opera(在我的 Windows PC 上)中打开得很好。

于 2014-07-14T21:12:47.123 回答
0

建议:尝试跟踪模拟器(它们用于开发)


该问题可能是针对 Android 操作系统的制造商定制,因此问题可能是由制造商引起的设备配置问题。

这里有几个答案可能会有所帮助。

这些都不适合我......但因为答案https://stackoverflow.com/a/52379567/1815624

我发现它会通过使用链接的跟踪文件来加载数据:

此外,这里是来自 Google https://source.android.com/devices/tech/debug/perf_traces.zip的官方 trace.html 示例的链接

使用adb root无效。

在不同的设备上,它可以完美地运行,也可以使用模拟器。

于 2018-10-16T13:35:29.290 回答
0

您可以尝试我的示例trace.html文件来检查您的 Chrome 版本是否正常。 https://github.com/tngotran/systrace-android/blob/master/trace.html

此外,这里是来自 Google https://source.android.com/devices/tech/debug/perf_traces.zip的官方 trace.html 示例的链接

顺便说一句,根据我的经验,命令工具python systrace.py可以创建输出文件trace.html而不会出错,但结果是一个空文件(即使文件大小大于 5Mb 或更多)。

我们必须:

  1. 从终端运行命令adb root以 root 身份重新启动 adbd
  2. python systrace.py再次运行

然后在 Chrome 中检查您创建的报告 .html 文件:)

于 2018-09-18T05:34:42.100 回答
0

我做了以下工作:

cd $ANDROID_HOME/platform-tools

git clone https://android.googlesource.com/platform/external/chromium-trace/

mv systrace old-systrace

ln -s chromium-trace/catapult/systrace/systrace/ systrace

解决了我的系统跟踪问题

systrace 报告至少在最新的 chrome 中工作

于 2016-06-02T01:49:52.427 回答