如何使用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

它的工作。 一个好处是你不必指定你的启动器活动,如果你使用这个命令。