无法在Android SDK中查看由Systrace工具生成的HTML跟踪报告

时间:2013-05-20 06:53:20

标签: android ddms systrace

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

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

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

12 个答案:

答案 0 :(得分:59)

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

  1. 打开Chrome浏览器并转到" chrome://跟踪"

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

  3. 其次,我认为这是一个由Google确认的错误。

      

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

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

答案 1 :(得分:4)

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

似乎他们在执行javascript绘制结果时遇到了错误。

检查JavaScript控制台。 我说。

未捕获的TypeError:undefined不是函数

答案 2 :(得分:3)

在Windows上,我只能看到结果:

  1. 获取 trace.html
  2. 使用Chrome浏览器打开 trace.html 并打开chrome的开发者工具,然后我发现 trace.html 中有3个错误 showing like this
  3. 转到错误行,然后注释错误功能 like this
  4. 保存修改后的html然后刷新chrome,可以看到跟踪结果
  5. 这不是最佳解决方案,但我们可以通过任何方式查看结果。

答案 3 :(得分:1)

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

直接从systrace文件夹运行该工具(sdk / tools / systrace /)

./systrace.py -t 5 -o trace.html

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

要做到这一点,你需要:

  • 如果你在Linux中修改Python脚本并删除overflow:hidden,无论在哪里找到。
  • 如果您使用的是SDK,请修改trace.html并删除找到的overflow:hidden

希望它有所帮助,谷歌中的某个人可以在源头上解决这个问题。

答案 6 :(得分:0)

我刚发现我的trace.html未能在IE / Firefox / Chrome中打开,在最新的Opera(在我的Windows PC上)上打开了。

答案 7 :(得分:0)

对我而言,它在Firefox v34上无效,但在Chrome v37中工作,而我在Ubuntu 12.04上工作。

答案 8 :(得分:0)

在尝试在Firefox 37.0.1上打开Systrace生成的html文件(大约10 MB)时,我也遇到了类似的问题。但是,同样的文件在Chromium Version 37.0.2062.120 Ubuntu 12.04(281580)(64位)上运行得非常出色。

答案 9 :(得分: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问题

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

答案 10 :(得分: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文件:)

答案 11 :(得分:0)

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


问题可能是针对Android OS的制造商定制,从而使该问题可能是制造商引起的设备配置问题。

这里有一些答案可能会有所帮助。

这些都不为我工作...但是由于答案https://stackoverflow.com/a/52379567/1815624

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

  

这也是Google官方trace.html示例的链接   https://source.android.com/devices/tech/debug/perf_traces.zip

使用adb root无效。

在其他设备上,它可以立即正常运行,也可以使用模拟器。