首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AndroidViewClient错误:设备是安全的

AndroidViewClient错误:设备是安全的
EN

Stack Overflow用户
提问于 2013-04-24 20:09:11
回答 1查看 743关注 0票数 0

我正在尝试使用AndroidViewClient来实现一些自动化。在github上有一个关于“安全模式”的页面。它指出:

AndroidViewClient有两个可能的后端:

  • ViewServer
  • UiAutomator

UiAutomator适用于Android 16及更高版本,因此如果您的设备有以前的版本,您唯一的选择是ViewServer.

我正在尝试运行dump.py,但是我得到了“设备是安全的”错误。安全模式页面声明“您唯一的选择是ViewServer”。什么是viewServer,我如何在猴子运行程序中使用它?

我很难理解这一点,因为根据github页面上的这张图片,如果我没有API lvl 16或更高版本,我就可以使用id名,如果我有它们(我这样做),我只是不知道怎么做。

总而言之,

我有API级别15及更低的设备和源代码,我想使用viewID的.来自动化我的应用程序吗?

最后一个错误:

代码语言:javascript
复制
C:\Users\EGHDK\android-sdk\tools>monkeyrunner C:\AndroidViewClient-master\Andro
idViewClient-master\AndroidViewClient\examples\dump.py --ignore-secure-device --
do-not-start-view-server
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
] Script terminated due to an exception
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]Traceback (most recent call last):
  File "C:\AndroidViewClient-master\AndroidViewClient-master\AndroidViewClient\e
xamples\dump.py", line 79, in <module>
    ViewClient(*ViewClient.connectToDeviceOrExit(**kwargs1), **kwargs2).traverse
(transform=transform)
  File "C:\AndroidViewClient-master\AndroidViewClient-master\AndroidViewClient\s
rc\com\dtmilano\android\viewclient.py", line 991, in __init__
    subprocess.check_call([adb, '-s', self.serialno, 'forward', 'tcp:%d' % self.
localPort,
  File "C:\Users\EGHDK\android-sdk\tools\lib\jython.jar\Lib\subprocess.py", lin
e 469, in check_call
  File "C:\Users\EGHDK\android-sdk\tools\lib\jython.jar\Lib\subprocess.py", lin
e 456, in call
  File "C:\Users\EGHDK\android-sdk\tools\lib\jython.jar\Lib\subprocess.py", lin
e 755, in __init__
  File "C:\Users\EGHDK\android-sdk\tools\lib\jython.jar\Lib\subprocess.py", lin
e 1269, in _execute_child
OSError: Cannot run program "C:\Windows\system32\adb.exe" (in directory "C:\User
s\EGHDK\android-sdk\tools"): CreateProcess error=2, The system cannot find the
file specified

130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyException.doRaise(PyException.java:219)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.Py.makeException(Py.java:1159)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.Py.makeException(Py.java:1163)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.Py.makeException(Py.java:1167)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at subprocess$py._execute_child$36(C:\Users\EGHDK\android-sdk\tools\lib
\jython.jar\Lib\subprocess.py:1270)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at subprocess$py.call_function(C:\Users\EGHDK\android-sdk\tools\lib\jyt
hon.jar\Lib\subprocess.py)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyTableCode.call(PyTableCode.java:165)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyFunction.__call__(PyFunction.java:385)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyMethod.__call__(PyMethod.java:215)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:221)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyMethod.__call__(PyMethod.java:206)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyObject.__call__(PyObject.java:367)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyObject.__call__(PyObject.java:371)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at subprocess$py.__init__$19(C:\Users\EGHDK\android-sdk\tools\lib\jytho
n.jar\Lib\subprocess.py:844)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at subprocess$py.call_function(C:\Users\EGHDK\android-sdk\tools\lib\jyt
hon.jar\Lib\subprocess.py)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyTableCode.call(PyTableCode.java:165)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyFunction.__call__(PyFunction.java:385)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyMethod.__call__(PyMethod.java:215)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:221)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyMethod.__call__(PyMethod.java:206)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyObjectDerived.dispatch__init__(PyObjectDerived.java
:1097)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyType.invoke_new_(PyType.java:444)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyType.type___call__(PyType.java:1374)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyType.__call__(PyType.java:1365)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyObject._callextra(PyObject.java:537)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at subprocess$py.call$7(C:\Users\EGHDK\android-sdk\tools\lib\jython.jar
\Lib\subprocess.py:456)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at subprocess$py.call_function(C:\Users\EGHDK\android-sdk\tools\lib\jyt
hon.jar\Lib\subprocess.py)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyTableCode.call(PyTableCode.java:165)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyFunction.__call__(PyFunction.java:370)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyFunction.function___call__(PyFunction.java:375)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyFunction.__call__(PyFunction.java:365)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyObject._callextra(PyObject.java:537)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at subprocess$py.check_call$8(C:\Users\EGHDK\android-sdk\tools\lib\jyth
on.jar\Lib\subprocess.py:475)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at subprocess$py.call_function(C:\Users\EGHDK\android-sdk\tools\lib\jyt
hon.jar\Lib\subprocess.py)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyTableCode.call(PyTableCode.java:165)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyBaseCode.call(PyBaseCode.java:124)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyFunction.__call__(PyFunction.java:317)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at com.dtmilano.android.viewclient$py.__init__$54(C:\AndroidViewClient-m
aster\AndroidViewClient-master\AndroidViewClient\src\com\dtmilano\android\viewcl
ient.py:995)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at com.dtmilano.android.viewclient$py.call_function(C:\AndroidViewClient
-master\AndroidViewClient-master\AndroidViewClient\src\com\dtmilano\android\view
client.py)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyTableCode.call(PyTableCode.java:165)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyFunction.__call__(PyFunction.java:385)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyFunction.__call__(PyFunction.java:380)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyInstance.__init__(PyInstance.java:120)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyClass.__call__(PyClass.java:194)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyObject._callextra(PyObject.java:537)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.pycode._pyx0.f$0(C:\AndroidViewClient-master\AndroidViewCl
ient-master\AndroidViewClient\examples\dump.py:79)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.pycode._pyx0.call_function(C:\AndroidViewClient-master\And
roidViewClient-master\AndroidViewClient\examples\dump.py)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyTableCode.call(PyTableCode.java:165)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.PyCode.call(PyCode.java:18)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.Py.runCode(Py.java:1197)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.core.__builtin__.execfile_flags(__builtin__.java:538)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:156
)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at com.android.monkeyrunner.ScriptRunner.run(ScriptRunner.java:116)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at com.android.monkeyrunner.MonkeyRunnerStarter.run(MonkeyRunnerStarter.
java:77)
130425 14:05:23.047:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions
]       at com.android.monkeyrunner.MonkeyRunnerStarter.main(MonkeyRunnerStarter
.java:189)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-24 21:29:18

如果您的设备API级别为< 16,则您的备选方案如下(如本图像所示):

  • 如果您有访问应用程序源代码的权限,则为LocalViewServer。LocalViewServer是ViewServer的分叉
  • 使用模拟器(禁用安全模式)
  • 根根设备并自己禁用安全模式

LocalViewServer特性LocalViewServerActivity,您可以对其进行扩展,以简化活动中的ViewServer实现。

检查TemperatureConverterActivity上的示例源代码。

您发布的错误的原因似乎是:

代码语言:javascript
复制
OSError: Cannot run program "C:\Windows\system32\adb.exe" (in directory "C:\User
s\EGHDK\android-sdk\tools"): CreateProcess error=2, The system cannot find the
file specified

您应该正确地设置环境变量ANDROID_HOME以指向Android安装。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16201239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档