如何使用terminal运行特定的Android应用程序?
我已经安装了Eclipse和Android SDK。 一切运行良好。
我想安装.apk文件,所以我已经按照说明。 但问题是,当我启动模拟器,它不会自动运行我的应用程序。
在terminal有一个命令,让我运行我要求的具体应用程序?
使用“ 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
您可以通过此命令启动android服务。
adb shell是startservice -n packageName / .ServiceClass
每当我从命令行工作时,我都保持这个构build并运行的脚本 :
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
我用了所有上面的答案,它给了我错误,所以我尝试了
adb shell monkey -p com.yourpackage.name -c android.intent.category.LAUNCHER 1
它的工作。 一个好处是你不必指定你的启动器活动,如果你使用这个命令。