2

我正在尝试使用 systrace。为此,我正在阅读官方网站

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

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添加到 ** system ENVIRONMENT** 。我通过命令使用 Systrace 的主要目标是使用Tracing Application Code。我放:

Trace.beginSection("MyAdapter.onCreateViewHolder");

Trace.endSection();

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

GUI systrace 在google chrome上运行良好,并且在此浏览器中运行良好。

4

5 回答 5

3

python 不附带 pywin32 库。你只需要根据你的系统从这里下载 pywin32 版本https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/并安装它。它会起作用的。

于 2019-06-06T10:36:20.593 回答
1

我的错误堆栈跟踪

 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 install 吧

于 2020-12-01T12:55:24.670 回答
1

对我来说,跑步

pip install pypiwin32

解决了问题

于 2018-09-26T09:14:24.720 回答
0

就我而言,我使用的是 Python 3.8,我刚刚切换到 2.7。

于 2022-02-04T07:01:18.870 回答
0

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

但是,如果从 Android 设备监视器运行 systrace 一切正常!

去做这个:

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

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

于 2018-03-19T11:24:43.183 回答