adb kill pid shell_android中使用adb shell命令kill掉应用程序 | 学步园

Android测试中,经常需要kill掉应用程序。

网上有用方法:adb shell中的kill命令后面跟的参数是pid,因此先ps所有的应用程序。缺点是,PS显示很长,找到你的应用比较麻烦。

另一种方法是使用包名,比较简单:

C:\Android\adt-bundle-windows-x86-20130729\sdk\platform-tools>adb shell  am force-stop 包名

比如 com.amap。

附录参考:

am命令,am全称activity manager,你能使用am去模拟各种系统的行为,例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等等

命令窗口通过adb shell 进入android 的Linux命令界面,输入am

-help看到如下信息:

force-stop : 强制停止指定的package包应用。

kill [options] :杀死指定package包应用进程,该命令在安全模式下杀死进程,不影响用户体验。参数选项:--user

| all | current: 指定user进程杀死,如果不指定默认为所有users。(关于USER_ID下面会介绍到)

kill-all :杀死所有的后台进程。

broadcast [options] :发送一个intent。具体intent参数参照start命令参数。参数选项:--user | all | current: 指定user进程杀死,如果不指定默认为所有users。

instrument [options] :测试命令,不多作介绍。

profile start :在进程中运行profile,分析结果写到里。

profile stop :停止profile。

set-debug-app [options] :设置package包应用为debug模式。参数选项:-w|--persistent:等待进入调试模式,保留值。

clear-debug-app :清空之前用set-debug-app命令设置的package包应用。

以下命令查看官网:

monitor [options]

screen-compat [on|off]

display-size [reset|]

display-density

to-uri

to-intent-uri

我们可以通过命令启动android中的Activity,Service,BroadcastReceiver 等组件

1. 拨打一个电话:

am start -a android.intent.action.CALL -d tel:10086

这里-a表示动作,-d表述传入的数据,还有-t表示传入的类型。

2. 打开一个网页:

am start -a android.intent.action.VIEW -d  http://www.baidu.com (这里-d表示传入的data)

3. 打开音乐播放器:

am start -a android.intent.action.MUSIC_PLAYER 或者

am start -n com.android.music/om.android.music.MusicBrowserActivity

4. 启动一个服务:

am startservice

例如:am startservice -n com.android.music/com.android.music.MediaPlaybackService (这里-n表示组件)

或者   am startservice -a com.smz.myservice (这里-a表示动作,就是你在Androidmanifest里定义的)

5. 发送一个广播:

am broadcast -a

例如: am broadcast -a com.smz.mybroadcast

6 启动一个Activity

# am start -n 包(package)名/包名.活动(activity)名称

启动的方法可以从每个应用的AndroidManifest.xml的文件中得到

Music 和 Video(音乐和视频)的启动方法为:

# am start -n com.android.music/com.android.music.MusicBrowserActivity

# am start -n com.android.music/com.android.music.VideoBrowserActivity

# am start -n com.android.music/com.android.music.MediaPlaybackActivity

Camera(照相机)的启动方法为:

# am start -n com.android.camera/com.android.camera.Camera

Browser(浏览器)的启动方法为:

# am start -n com.android.browser/com.android.browser.BrowserActivity

启动 google map 直接定位到北京 :

am start -a android.intent.action.VIEW geo:0,0?q=beijing

am还有很多的用法,有待研究。

接下来介绍pm命令,pm全称package manager,你能使用pm命令去模拟android行为或者查询设备上的应用等,当你在adb shell命令下执行pm命令:

pm

你也可以在adb shell前执行pm命令:

adb shell pm uninstall com.example.MyApp

关于一些pm命令的介绍:

list packages [options] :打印所有包,选择性的查询包列表。参数选项:-f:查看关联文件,即应用apk的位置跟对应的包名(如:package:/system/app/MusicPlayer.apk=com.sec.android.app.music);-d:查看disabled packages;-e:查看enable package;-s:查看系统package;-3:查看第三方package;-i:查看package的对应安装者(如:1、package:com.tencent.qqmusic

installer=null 2、package:com.tencent.qqpim installer=com.android.vending);-u:查看曾被卸载过的package。(卸载后又重新安装依然会被列入);--user:The user space to query。

list permission-groups :打印所有已知的权限群组。

list permissions [options] :选择性的打印权限。参数选项:

list features :设备特性。硬件之类的性能。

list libraries :当前设备支持的libs。

list users :系统上所有的users。(上面提到的USER_ID查询方式,如:UserInfo{0:Primary:3}那么USER_ID为0)

path :查询package的安装位置。

install [options] :安装命令。

uninstall [options] :卸载命令。

clear :对指定的package删除所有数据。

enable :使package或component可用。(如:pm enable \" package/class\" )

disable :使package或component不可用。(如:pm disable \" package/class\" )

disable-user [options] :参数选项:--user : The user to disable.

grant :授权给应用。

revoke :撤销权限。

set-install-location :设置默认的安装位置。其中0:让系统自动选择最佳的安装位置。1:安装到内部的设备存储空间。2:安装到外部的设备存储空间。(这只用于调试应用程序,使用该命令可能导致应用程序退出或者其他不适的后果)。

get-install-location :返回当前的安装位置。返回结果同上参数选项。

set-permission-enforced [true|false] :使指定权限生效或者失效。

create-user :增加一个新的USER。

remove-user :删除一个USER。

get-max-users :该设备所支持的最大USER数。(某些设备不支持该命令)

http://www.07net01.com/program/577315.html

http://www.cppblog.com/AutomateProgram/archive/2010/06/10/117595.aspx

由于adb

shell中的kill命令后面跟的参数是pid,因此先ps所有的应用程序:

adb在shell下:

ps

USER

PID   PPID  VSIZE RSS   WCHAN    PC         NAME

app_9

720   553   94476 14524 ffffffff afe0d3e4 S com.android.music

例如要关掉music# kill 720kill 720

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值