Systrace by Command Line错误

时间:2017-07-13 06:03:00

标签: systrace android-thread

我正在尝试使用systrace。为此,我正在阅读official site

但在终端上运行此命令后:

D:\Software\Android\android-sdk\platform-tools\systrace>python systrace.py --time=10 -o mynewtrace.html sched gfx view wm

我收到了这些错误:

Traceback (most recent call last):
File "systrace.py", line 48, in <module>
from systrace import run_systrace
File "D:\Software\Android\android-sdk\platform-tools\systrace\catapult\systrace\systrace\run_systrace.py", line 40, in <module>
from devil import devil_env
File "D:\Software\Android\android-sdk\platform-tools\systrace\catapult\systrace\systrace\..\..\devil\devil\devil_env.py", line 32, in <module>
import dependency_manager  # pylint: disable=import-error
File "D:\Software\Android\android-sdk\platform-tools\systrace\catapult\dependency_manager\dependency_manager\__init__.py", line 28, in <module>
from .archive_info import ArchiveInfo
File "D:\Software\Android\android-sdk\platform-tools\systrace\catapult\dependency_manager\dependency_manager\archive_info.py", line 7, in <module>
from dependency_manager import exceptions
File "D:\Software\Android\android-sdk\platform-tools\systrace\catapult\dependency_manager\dependency_manager\exceptions.py", line 5, in <module>
from py_utils import cloud_storage
File "D:\Software\Android\android-sdk\platform-tools\systrace\catapult\common\py_utils\py_utils\cloud_storage.py", line 20, in <module>
from py_utils import lock
File "D:\Software\Android\android-sdk\platform-tools\systrace\catapult\common\py_utils\py_utils\lock.py", line 18, in <module>
import win32con    # pylint: disable=import-error
ImportError: No module named win32con

我的python版本:

D:\Software\Android\android-sdk\platform-tools\systrace>python --version
Python 2.7.13

D:\Software\Android\android-sdk\platform-tools\systrace>

我已将python PATH 添加到**系统环境**。我按命令使用Systrace的主要目标是使用跟踪应用程序代码。我说:

Trace.beginSection("MyAdapter.onCreateViewHolder");

Trace.endSection();

到我的代码,我希望通过 -a或--app = options 将此输出视为systrace的跟踪。

GUI systrace在谷歌浏览器上没问题,并且在此浏览器中运行良好。

4 个答案:

答案 0 :(得分:1)

python不带有pywin32库。您只需要根据您的系统从https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/下载pywin32版本并进行安装。它将起作用。

答案 1 :(得分:0)

在Windows10中,当通过命令行运行时,我得到了同样的错误!

但是如果从Android Device Monitor运行systrace一切正常!

要做到这一点:

  • 运行Android设备监视器
  • 点击DDMS图标
  • 在“设备”标签中选择您的设备
  • 点击“使用Android systrace捕获系统范围的跟踪”(图标“屏幕捕获”附近)

我使用Android设备监视器版本:25.2.2

答案 2 :(得分:0)

对我来说,运行

pip install pypiwin32

解决了问题

答案 3 :(得分:0)

我的错误堆栈跟踪

 C:\Users\hhh\AppData\Local\Android\Sdk\platform-tools\systrace>python
 systrace.py --time=10 -o my_systrace.html Traceback (most recent call
 last):   File "systrace.py", line 48, in <module>
     from systrace import run_systrace   File "C:\Users\hhh\AppData\Local\Android\Sdk\platform-tools\systrace\catapult\systrace\systrace\run_systrace.py",
 line 43, in <module>
     from systrace import systrace_runner   File "C:\Users\hhh\AppData\Local\Android\Sdk\platform-tools\systrace\catapult\systrace\systrace\systrace_runner.py",
 line 11, in <module>
     from systrace import output_generator   File "C:\Users\hhh\AppData\Local\Android\Sdk\platform-tools\systrace\catapult\systrace\systrace\output_generator.py",
 line 15, in <module>
     from tracing.trace_data import trace_data   File "C:\Users\hhh\AppData\Local\Android\Sdk\platform-tools\systrace\catapult\tracing\tracing\trace_data\trace_data.py",
 line 17, in <module>
     import six ImportError: No module named six

我解决了这个问题:

pip install six

摘要
找到ImportError什么,使用pip安装它