【发布时间】:2017-02-08 22:26:26
【问题描述】:
我在 Ubuntu 16.04 上安装了 Android SDK,它在我的笔记本电脑上的 Virtual Box 上运行。我有一个连接到笔记本电脑的三星 Galaxy Tab。虚拟机可以访问该设备。我尝试安装我的安卓应用 (apk file)
使用monkeyrunner。
我使用的python脚本如下
# Imports the monkeyrunner modules used by this program
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
# Connects to the current device, returning a MonkeyDevice object
device = MonkeyRunner.waitForConnection()
# Installs the Android package. Notice that this method returns a boolean, so you can test
# to see if the installation worked.
device.installPackage('myproject/bin/MyApplication.apk')
# sets a variable with the package's internal name
package = 'com.example.android.myapplication'
# sets a variable with the name of an Activity in the package
activity = 'com.example.android.myapplication.MainActivity'
# sets the name of the component to start
runComponent = package + '/' + activity
# Runs the component
device.startActivity(component=runComponent)
# Presses the Menu button
device.press('KEYCODE_MENU', MonkeyDevice.DOWN_AND_UP)
# Takes a screenshot
result = device.takeSnapshot()
# Writes the screenshot to a file
result.writeToFile('myproject/shot1.png','png')
我以
身份运行脚本monkeyrunner -v ALL ~/Workspace/monkey_runner_sample.py
我得到以下输出,但没有任何反应。程序有点挂起。
170209 11:19:27.878:I [main] [com.android.chimpchat.ChimpManager] Monkey Command: wake.
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] Error starting command: monkey --port 12345
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice]com.android.ddmlib.TimeoutException
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] at com.android.ddmlib.AdbHelper.read(AdbHelper.java:766)
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] at com.android.ddmlib.AdbHelper.read(AdbHelper.java:735)
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] at com.android.ddmlib.AdbHelper.readAdbResponse(AdbHelper.java:221)
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] at com.android.ddmlib.AdbHelper.executeRemoteCommand(AdbHelper.java:455)
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] at com.android.ddmlib.AdbHelper.executeRemoteCommand(AdbHelper.java:381)
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] at com.android.ddmlib.AdbHelper.executeRemoteCommand(AdbHelper.java:352)
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] at com.android.ddmlib.Device.executeShellCommand(Device.java:604)
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] at com.android.chimpchat.adb.AdbChimpDevice$1.run(AdbChimpDevice.java:105)
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
170209 11:19:31.146:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] at java.lang.Thread.run(Thread.java:745)
应用程序MyApplication 未安装在平板电脑上。
错误如下所示
170209 11:27:07.692:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] Error starting command: monkey --port 12345
170209 11:27:07.692:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice]com.android.ddmlib.TimeoutException
谁能帮我弄清楚发生了什么?
【问题讨论】:
标签: android python adb apk monkeyrunner