adb shell中的am pm命令

adb shell中的am pm命令,一些自己的见解和大多数官网的翻译。

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

am <command>
你也可以在adb shell前执行am命令:
adb shell am start -a android.intent.action.VIEW
关于一些am命令的介绍:
start [options] <INTENT> :启动activity通过指定的intent参数。具体intent参数参照官方表。

startservice [options] <INTENT> : 启动service通过指定的intent参数。具体intent跟start命令参数相同。

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

kill [options] <PACKAGE> :杀死指定package包应用进程,该命令在安全模式下杀死进程,不影响用户体验。参数选项:--user <USER_ID> | all | current: 指定user进程杀死,如果不指定默认为所有users。(关于USER_ID下面会介绍到)

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

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

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

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

profile stop <PROCESS> :停止profile。

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

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

以下命令查看官网:
monitor [options]
screen-compat [on|off] <PACKAGE>
display-size [reset|<WxH>]
display-density <dpi>
to-uri <INTENT>
to-intent-uri <INTENT>

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

pm <command>
你也可以在adb shell前执行pm命令:
adb shell pm uninstall com.example.MyApp
关于一些pm命令的介绍:
list packages [options] <FILTER> :打印所有包,选择性的查询包列表。参数选项:-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<USER_ID>:The user space to query。

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

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

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

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

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

path <PACKAGE> :查询package的安装位置。

install [options] <PATH> :安装命令。

uninstall [options] <PACKAGE> :卸载命令。

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

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

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

disable-user [options] <PACKAGE_OR_COMPONENT> :参数选项:--user <USER_ID>: The user to disable.
grant <PACKAGE_PERMISSION> :授权给应用。

revoke <PACKAGE_PERMISSION> :撤销权限。

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

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

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

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

remove-user <USER_ID> :删除一个USER。

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

时间: 2024-08-07 21:17:01

adb shell中的am pm命令的相关文章

在adb shell中直接使用sqlite3命令操作数据库

在adb shell中直接使用sqlite3命令操作数据库 一般,手机在开发阶段都是会将sqlite3模块打入镜像.例如在安卓5.1中,路径为/system/xbin/sqlite3.(但对于普通手机,不一定能自带此模块,因此此文只针对于手机研发阶段调试) 首先查看手机中sqlite3文件是否存在,若存在才可在adb shell下直接使用sqlite3命令: 示例:更改系统设置数据库中的设置项:Settings.Global.CAPTIVE_PORTAL_DETECTION_ENABLED (

android adb shell中使用到的命令

1,Shell 模式下挂载根目录下的目录为可读可写状态,e.g /system/: mount -o remount rw /system/ 这样即可push文件到相应目录中. 2,Shell 模式下查看相应进程的PID,e.g packageName = com.android.phone [email protected]:/# ps|grep com.android.phone 可见com.android.phone进程的PID = 2466,其中命令中的grep为从结果中过滤指定字符串

shell 中 exec 和 source 命令解析

文章大部分来源于:http://www.cnblogs.com/zhaoyl/archive/2012/07/07/2580749.html 作为笔记留存博客备忘. exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两类:外部命令和内部命令.外部命令是通过系统调用或独立的程序实现的,如sed.awk等等.内部命令是由特殊的文件格式(.def)所实现,

【android】android 常用adb 和 adb shell 命令

db是SDK自带的工具,可实现桥接功能:adb shell 可以与手机系统建立交互,是基于andoid Linux系统下的操作 ADB常用命令: 1. 查看设备         adb  devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 2. 安装软件 adb  install <apk文件路径> 这个命令将指定的apk文件安装到设备上       参数“-r”,它是更新安装的意思,       参数 -s ,安装到sdcard.     

Android Adb Shell命令详解(带DOS、Linux命令)

在Android应用程序开发过程中,经常用到adb shell,这里对常规命令做一个简单的总结. 内容包括Dos.Linux.Shell三块(通过查阅书籍及网络资料所得). 1.首先看Windows DOS下的命令 cd——改变当前目录 dir——显示文件夹内容 md——建立子目录 copy——拷贝文件 move——移动文件 del——删除文件 cls——清屏 attrib——显示文件的(文件)属性 2.接下来给出Linux下常规命令 cd——改变当前目录 pwd——查看当前所在目录完整路径 l

穿越之旅之--android中如何执行java命令

android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建hello.java文件,编写如下代码: public static class hel

Android学习笔记:adb 与 adb shell操作 以及中文乱码解决

1.安装app >adb install xxx.apk 2.卸载app >adb uninstall app的包路径 如:>adb uninstall com.example.myfirstapp 3.进入命令行  adb shell 说明:只有sdcard下的目录才有权限被操作.操作命令就是linux下的文件操作命令,如 ls , mkdir ,rm等 1)从本地文件上传到手机上 adb push 本地文件名   手机目录/文件名(如果不指定文件名,则就是本地文件名) 2)从手机下载

android中如何执行java命令

android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候写得那个hello world,这次要在android上运行. 用记事本新建hello.java文件,编写如下代码: public static class hell

adb shell 是什么,如何进入?

本文适合于想了解android系统基础知识,知道大家说的adb shell 到底是怎么回事儿的小白同学. (主要偏向于windows用户,相信如果你用linux...本文可能已经帮不到你什么了) 一,从操作系统开始 windows.linux.Mac.ios.android.meego.. 这个世界上有这么多操作系统呀,看起来风格迥异,相差很多. 但其实它们之间的关系,没有那么远. 它们其实有一个共同的祖先:unix ...(中间省过10000字) 经过N多版本的进化,它们的原理并没有什么本质的