尝试在Linux Ubuntu上使用Android systrace.py时出错

尝试在Linux Ubuntu上使用Android systrace.py时出错,android,python,linux,adb,systrace,Android,Python,Linux,Adb,Systrace,我正在尝试运行,但运行命令时出错 user1@PC1:~/Android/Sdk/platform-tools/systrace$ python Python 2.7.6 (default, Mar 22 2014, 22:59:56) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> user1@PC1:~/Android/Sdk

我正在尝试运行,但运行命令时出错

user1@PC1:~/Android/Sdk/platform-tools/systrace$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
user1@PC1:~/Android/Sdk/platform-tools/systrace$ ls
AUTHORS  prefix.html         systrace.py
LICENSE  suffix.html         systrace_trace_viewer.html
NOTICE   systrace-legacy.py  UPSTREAM_REVISION
user1@PC1:~/Android/Sdk/platform-tools/systrace$ python systrace.py --time=10 -o mynewtrace.html 
Traceback (most recent call last):
  File "systrace.py", line 320, in <module>
    main()
  File "systrace.py", line 158, in main
    stderr=subprocess.PIPE)
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

通过将路径导出更改为由绝对路径而不是相对路径指定,我修复了这些问题。这意味着,我不能使用~/…定义我的主目录,我必须使用/home/username/


然而,我不清楚为什么systrace.py在使用~/.定义路径时不能正常运行。。。而不是/home/username/。。。。当使用~/..定义路径时,ADB工作得非常好

即使答案被接受,对于那些在未来面临这个问题的人

/platform tools目录运行systrace(adb位于/platform tools目录中),而不是从/platform tools/systrace目录运行。例如

.../platform-tools$ python systrace/systrace.py

听起来它很难找到“adb”,尽管看起来你已经找到了正确的路径。如果您只是运行“adb”,它是否在您的路径中找到?在调用adda
print>>sys.stderr之前,请尝试编辑脚本,args是%s'%atrace_args
,并查看它试图执行的操作。@fadden I将Python更新为v2.7.10,并确认adb命令有效。当我键入adb设备时,我会看到我的设备列表。我添加了两个打印语句。一个是
atrace\u args
,另一个是
tracer\u args
。下面是输出:
['atrace'、'-z'、'-t'、'10'、';'、'ps'、'-t']跟踪参数是['adb'、'shell'、'atrace-z-t 10;ps-t']
HOLY SMOKES,这是解决我在Windows 10上的问题的答案。
export PATH="/home/user1/Applications/android-studio/bin/:$PATH"
export PATH="/home/user1/Android/Sdk/platform-tools/:$PATH"
export PATH="/home/user1/Android/Sdk/tools/:$PATH"
.../platform-tools$ python systrace/systrace.py