我正在尝试运行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"
答案 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完全正常。