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

时间:2015-06-08 21:25:54

标签: android python linux adb systrace

我正在尝试运行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/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

我目前正在运行安装了Android SDK 5.1.1的Ubuntu和Android Studio。以下是我在.bashrc中的PATH导出:

export PATH="~/Applications/android-studio/bin/:$PATH"
export PATH="~/Android/Sdk/platform-tools/:$PATH"
export PATH="~/Android/Sdk/tools/:$PATH"

2 个答案:

答案 0 :(得分:4)

即使答案是可以接受的,对于那些将来面对这个问题的人来说;

/ platform-tools 目录(adb在/ platform-tools目录中)运行systrace,而不从 / platform-tools / systrace < / em> 目录。例如

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

答案 1 :(得分:1)

我通过将PATH导出更改为由绝对路径而不是相对路径指定来解决问题。这意味着,我无法使用〜/...定义我的主目录,我必须使用 / home / username /...

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"

但是,我不清楚为什么 systrace.py 在使用〜/...而不是 /家/用户名/...。当使用〜/...定义PATH时,ADB完全正常。