我已經安裝了Eclipse和Android SDK。一切運行良好。如何使用終端運行特定的Android應用程序?
我想安裝一個.apk文件,所以我按照說明已經。但問題是,當我啓動模擬器時,它不會自動運行我的應用程序。
終端中是否有命令讓我運行我要求的特定應用程序?
我已經安裝了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