如何使用终端运行特定的Android应用程序?
我已经安装了Eclipse和Android SDK。一切运行良好。如何使用终端运行特定的Android应用程序?
我想安装一个.apk文件,所以我按照说明已经。但问题是,当我启动模拟器时,它不会自动运行我的应用程序。
终端中是否有命令让我运行我要求的特定应用程序?
使用'am start
'命令,该命令是对ActivityManager的命令行界面。使用am
开始活动,如本帮助:
$ adb shell am
usage: am [start|instrument]
am start [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
[-c <CATEGORY> [-c <CATEGORY>] ...]
[-e <EXTRA_KEY> <EXTRA_VALUE> [-e <EXTRA_KEY> <EXTRA_VALUE> ...]
[-n <COMPONENT>] [-D] [<URI>]
...
例如,启动联系人应用程序,您可以使用
$ adb shell am start -n com.google.android.contacts/.ContactsActivity
参见http://www.kandroid.org/online-pdk/guide/instrumentation_testing.html(可能是过时的URL的副本:http://source.android.com/porting/instrumentation_testing.html)了解其他细节。
要终止应用程序,您可以使用
$ adb shell am kill com.google.android.contacts
或更严厉的
$ adb shell am force-stop com.google.android.contacts
嗨dtmilano。我也在尝试活动管理器,但我不知道应用程序的组件。你介意进一步解释吗? – 2011-03-31 03:16:47
例如:我在/opt/sdk/example.apk中有一个已编译的文件在我安装完成后,如何使它在命令行中运行? – 2011-03-31 03:37:49
包名称+活动名称 – 2011-03-31 05:45:02
您可以通过以下命令启动的Android服务。
adb shell am startservice -n packageName/.ServiceClass
我很感谢您的回答,但请在一些细节中描述您的答案,而不是仅为用户提供的两行帮助。 – Hamad 2013-12-10 05:32:43
我一直this build-and-run script得心应手,每当我从命令行工作:
PACKAGE=com.examply.demo
ACTIVITY=.MainActivity
APK_LOCATION=app/build/outputs/apk/app-debug.apk
echo "Package: $PACKAGE"
echo "Building the project with tasks: $TASKS"
./gradlew $TASKS
echo "Uninstalling $PACKAGE"
adb uninstall $PACKAGE
echo "Installing $APK_LOCATION"
adb install $APK_LOCATION
echo "Starting $ACTIVITY"
adb shell am start -n $PACKAGE/$ACTIVITY
当我运行这个命令时,我收到一个错误,说**错误:Activity类{com.example.demo/com.example.demo.MainActivity}不存在。**。你知道如何解决这个问题?它还表示错误类型3 – Ezio 2017-06-14 10:20:29
@Ezio请更改脚本中的第2行以指向您的主要活动。在我的情况下它是:MainActivity.java在包的根目录下=> com.example.demo.MainActivity。这对你来说会有所不同。此外,您需要将第1行的软件包名称(com.example.demo)更新为应用程序的软件包名称。 – 2017-06-15 09:02:11
我知道Shubham,我做了你所说的所有改变,但仍然出现错误。但现在我使用** adb shell的猴子-p com.mypackage.name -c android.intent.category.LAUNCHER 1 **,它的工作。我写了一个答案,以防其他人面临类似的问题 – Ezio 2017-06-15 10:17:28
我用所有上述答案,这是给我的错误,所以我尝试
adb shell monkey -p com.yourpackage.name -c android.intent.category.LAUNCHER 1
,它的工作。一个好处是如果你使用这个命令,你不必指定你的启动器活动。
我只能用这个猴子命令得到它,谢谢。其他人给我许可错误。 – giorgio79 2017-08-24 12:20:47
你是否等待停止活动呢?杀死$(pidof ...)? – RzR 2011-08-18 15:38:11