2012-02-16 48 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

相关问题