2012-02-16 25 views
5

我能夠使用am start -a action -n packagename/activity啓動本機應用程序。我如何從adb shell殺死/停止本地應用程序?如何從'adb shell'中刪除原生應用程序?

+0

使用我的主機的ubuntu – RanjitRock 2012-02-16 06:17:53

+1

的可能重複的[停止從控制檯Android應用](http://stackoverflow.com/questions/3117095/stopping-an-android-app-from-console) – janot 2014-10-21 11:46:13

回答

9

奇拉格刪除了,所以這裏要再次重申:

adb shell ps | grep com.myapp | awk '{print $2}' | xargs adb shell kill 

這是要在仿真器之外運行。它是一個長的Unix命令,而不是四個帶有可視化分隔的命令。 |是語法,由您的(Ubuntu的)shell解釋,然後將adb,grep等的輸出管理到下一個。在仿真器中僅執行ps

+0

只是''adb shell ps | grep $ 1 | awk'{print $ 2}'''部分非常適合提取指定應用程序的PID(本例中爲$ 1)。 – scorpiodawg 2012-06-19 02:11:23

+1

如果因爲需要root訪問權限而無法終止服務,請修改最後一部分以反映'xargs adb shell'su -c kill''。另外,http://stackoverflow.com/a/9418553/198348是相關的。 – 2013-04-03 02:04:38

+0

「不允許操作」 – 2017-08-03 01:14:15

1

請在adb shell中嘗試下面的命令。

adb shell kill <PID> 
+0

grep的多年平均值在Android的shell中工作 – RanjitRock 2012-02-16 06:45:09

+1

@ user774217,這不會在android的shell中運行。看到它以'adb shell'開頭?在Ubuntu中嘗試。 – 2012-02-16 06:53:39

+0

Julian Fondren是對的。請在你的ubantu終端試試。 – 2012-02-16 06:54:32

24
adb shell am force-stop packagename 
+0

如果您在Windows或任何非Unix環境下,此功能非常有用。 – 2014-04-03 17:55:08

+1

@SteveRichey爲什麼這不適用於Unix?我在Ubuntu 14.04上試了一下,效果很好。 – 2014-06-16 01:18:08

+2

@ChrisFoster我只是說,與頂級答案(在Windows中不起作用)相反,這適用於Windows用戶。 – 2014-06-17 21:35:45

相關問題