Я пытаюсь запустить некоторые команды в приложении, которое уже установлено через monkeyrunner. Я редактировал образец код, указанный на d.android.com, и я изменил его на это:Как запустить monkeyrunner на уже установленном .apk
# 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.myTestApp'
# 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
# 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')
Как вы можете видеть, я изменил код (надеюсь) открытым com.example.myTestApp
Но это не открывается мой но, похоже, он запускает команды в текущем приложении. Есть идеи?
Что делать, если я знаю только пакет, а не активность? – EGHDK
Например, я могу найти имя пакета другого приложения на своем телефоне, взяв имя пакета из URL-адреса на странице play.google.com. – EGHDK
Возможно, вы можете проверить сообщения logcat для того, что отображается при попытке открыть приложение. Проверьте, что в журнале что-то вроде «отображается». Я видел имя активности в случае приложения настроек и некоторых других приложений. – Rilwan