我正在尝试使用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在谷歌浏览器上没问题,并且在此浏览器中运行良好。
答案 0 :(得分:1)
python不带有pywin32库。您只需要根据您的系统从https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/下载pywin32版本并进行安装。它将起作用。
答案 1 :(得分:0)
在Windows10中,当通过命令行运行时,我得到了同样的错误!
但是如果从Android Device Monitor运行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安装它