我当前正在尝试运行platform tools文件夹中包含的systrace python脚本,但出现以下错误:File "systrace.py", line 274, in
main()
File "systrace.py", line 60, in main
device_sdk_version = get_device_sdk_version()
File "systrace.py", line 44, in get_device_sdk_version
stderr=subprocess.PIPE)
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
我在运行Ubuntu12.04 LTS。下面是我用来运行systrace的命令:
^{pr2}$
注:sudo是为了避免以下错误:File "systrace.py", line 274, in
main()
File "systrace.py", line 63, in main
os.execv(legacy_script, sys.argv)
OSError: [Errno 13] Permission denied
在网上搜索之后,我发现一个解决方案是将adb添加到我的PATH变量中。我将platformtools目录添加到我的路径中,但仍然收到相同的错误。我继续检查导致问题的代码,很明显是这个片段:adb = subprocess.Popen(getprop_args, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
其中getprop_args定义如下:getprop_args = ['adb', 'shell', 'getprop', 'ro.build.version.sdk']
据我所知,代码试图运行以下命令:adb shell getprop ro.build.version.sdk
我在控制台中运行了这个命令,它可以正常工作。我还复制了这两行代码,并在python解释器中运行它们,运行起来没有问题。我真的不知道怎么解决这个问题。有人知道可能的解决办法吗?在