Systrace по ошибке командной строки

я пытаюсь использовать 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

моя версия питона:

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 по команде — использование Отслеживание кода приложения. Я кладу:

Trace.beginSection("MyAdapter.onCreateViewHolder");

и

Trace.endSection();

к моему коду, и я хочу видеть этот вывод как трассировку к systrace с помощью -a или --app= options.

GUI systrace работает в google chrome и отлично работает в этом браузере.


person sayres kabir    schedule 13.07.2017    source источник


Ответы (4)


Для меня бег

pip install pypiwin32

исправил проблему

person ghodir    schedule 26.09.2018

python не поставляется с библиотекой pywin32. вам просто нужно загрузить версию pywin32 в соответствии с вашей системой отсюда https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/ и установите его. Это сработает.

person Vikram    schedule 06.06.2019

Трассировка стека моей ошибки

 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, установите его

person wanghaha    schedule 01.12.2020

В Windows10 при запуске через командную строку вылезли те же ошибки!

Но если запустить systrace из Android Device Monitor, все работает нормально!

Сделать это:

  • запустить Android Device Monitor
  • щелкните значок DDMS
  • во вкладке "Устройства" выберите свое устройство
  • нажмите «Захват системной трассировки с помощью Android systrace» (рядом со значком «Захват экрана»)

Я использую Android Device Monitor Версия: 25.2.2

person ArkadiBernov    schedule 19.03.2018