尝试在 Linux Ubuntu 上使用 Android systrace.py 时出错
Error when trying to use Android systrace.py on Linux Ubuntu
我正在尝试 运行 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
我目前 运行正在 Ubuntu 安装 Android SDK 5.1.1 以及 Android Studio。下面是我在 .bashrc 中的路径导出:
export PATH="~/Applications/android-studio/bin/:$PATH"
export PATH="~/Android/Sdk/platform-tools/:$PATH"
export PATH="~/Android/Sdk/tools/:$PATH"
我通过将我的 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 时无法正确 运行~/ ... 而不是 /home/username/...。当使用 ~/... 定义 PATH 时,ADB 工作得很好。
虽然答案被接受了,但对于那些以后遇到这个问题的人;
运行 来自 /platform-tools 目录的 systrace(adb 在 /platform-tools 目录中)而不是来自 /platform-tools/systrace目录。例如
.../platform-tools$ python systrace/systrace.py
我正在尝试 运行 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
我目前 运行正在 Ubuntu 安装 Android SDK 5.1.1 以及 Android Studio。下面是我在 .bashrc 中的路径导出:
export PATH="~/Applications/android-studio/bin/:$PATH"
export PATH="~/Android/Sdk/platform-tools/:$PATH"
export PATH="~/Android/Sdk/tools/:$PATH"
我通过将我的 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 时无法正确 运行~/ ... 而不是 /home/username/...。当使用 ~/... 定义 PATH 时,ADB 工作得很好。
虽然答案被接受了,但对于那些以后遇到这个问题的人;
运行 来自 /platform-tools 目录的 systrace(adb 在 /platform-tools 目录中)而不是来自 /platform-tools/systrace目录。例如
.../platform-tools$ python systrace/systrace.py