在CyanogenMod上使用Monkeyrunner的Python脚本

1 投票
1 回答
884 浏览
提问于 2025-04-17 10:37

我有一些脚本在htc desire手机上运行得很好,特别是装了Sense系统的那款。但是当我在装了CyanogenMod的htc desire上运行这些脚本时,就出现了很多奇怪的错误。有没有人对这个话题熟悉的?

举个例子,我有一个脚本在Sense上运行得非常顺利,但在Cyanogen上执行时,time.sleep(10)这一行就报错。如果我把这一行注释掉(在Cyanogen上),脚本就能正常运行,但如果我让它暂停一下,就会出错。

120119 14:06:18.555:S [main] [com.android.monkeyrunner.adb.AdbMonkeyDevice] Error sending touch event: 150 700 DOWN_AND_UP
120119 14:06:18.555:S [main] [com.android.monkeyrunner.adb.AdbMonkeyDevice]java.net.SocketException: Broken pipe
120119 14:06:18.555:S [main] [com.android.monkeyrunner.adb.AdbMonkeyDevice] at java.net.SocketOutputStream.socketWrite0(Native Method)
120119 14:06:18.555:S [main] [com.android.monkeyrunner.adb.AdbMonkeyDevice] at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
120119 14:06:18.555:S [main] [com.android.monkeyrunner.adb.AdbMonkeyDevice] at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
120119 14:06:18.555:S [main] [com.android.monkeyrunner.adb.AdbMonkeyDevice] at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
120119 14:06:18.555:S [main] [com.android.monkeyrunner.adb.AdbMonkeyDevice] at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:263)
120119 14:06:18.555:S [main] [com.android.monkeyrunner.adb.AdbMonkeyDevice] at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:106)
120119 14:06:18.555:S [main] [com.android.monkeyrunner.adb.AdbMonkeyDevice] at java.io.OutputStreamWriter.write(OutputStreamWriter.java:190)
120119 14:06:18.555:S [main] [com.android.monkeyrunner.adb.AdbMonkeyDevice] at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:111)

我不明白为什么在Cyanogen上time.sleep会报错:S . . .

注意:我在Sense和CyanogenMod上运行同样的脚本,在Sense上没有问题,但在Cyanogen上执行时,time.sleep会出现“broken pipe”的错误 . . .

谢谢

1 个回答

0

这只是一个建议。你有没有试过调整一下你休眠方法里的时间?有时候可能会出现线程超时的问题。可以试着把休眠时间改成2秒或3秒看看。

撰写回答