介绍

pm命令提供了app包的管理,即packagemanager以命令行的方式提供给开发者使用。以下将介绍常用pm命令的基本使用。

常用命令

查看当前用户的ID(USER_ID)

$pm list users

x20l_fhd_portrait:/ $ pm list users

Users:

UserInfo{0:机主:13} running

当前用户信息,USER_ID是0,用户名是13

查看已经安装的包

$pm -l

x20l_fhd_portrait:/ $ pm -l

package:com.android.fmradio

package:com.mediatek.gba

package:com.mediatek.ims

package:com.smc.hccarddemo

package:cn.heils.hap

package:com.android.cts.priv.ctsshim

package:com.smc.bitmapclap

package:com.android.providers.telephony

package:com.maniu.cameraopengldemo

package:com.mediatek.fwk.plugin

package:com.sohu.inputmethod.sogou

package:com.android.wallpapercropper

package:com.mediatek.schpwronoff

package:com.android.egg

package:com.android.mms

package:com.android.mtp

package:com.android.stk

package:com.android.launcher3

列举设备上安装好的所有的app包

$pm -l | grep com.android.launcher3

x20l_fhd_portrait:/ $ pm -l | grep com.android.launcher3

package:com.android.launcher3

查询某一个包是否安装,如果没有安装则结果为空

查看第三方安装包

格式: pm list package -3

$ pm list package -3

列出第三方开发的app的包名

查看测试包

格式: pm list instrumentation

$ pm list instrumentation

x20l_fhd_portrait:/ $ pm list instrumentation

instrumentation:com.tencent.android.qqdownloader/com.live.watermelon.Instrumentation (target=com.tencent.android.qqdownloader)

查看安装包的路径

格式: pm path [--user USER_ID] PACKAGE

如查看launcher3的安装包路径

$pm path --user 0 com.android.launcher3

x20l_fhd_portrait:/ $ pm path --user 0 com.android.launcher3

package:/system/priv-app/Launcher3_m/Launcher3_m.apk

查看一下这个路径是否正确

x20l_fhd_portrait:/ $ ls -l /system/priv-app/Launcher3_m/Launcher3_m.apk

-rw-r--r-- 1 root root 8205210 2019-01-17 19:02 /system/priv-app/Launcher3_m/Launcher3_m.apk

查找结果完全正确

输出安装包信息

格式: pm dump PACKAGE

$pm dump com.android.launcher3

x20l_fhd_portrait:/ $ pm dump com.android.launcher3

DUMP OF SERVICE package:

Activity Resolver Table:

Full MIME Types:

image/*:

6c52abe com.android.launcher3/.WallpaperCropActivity filter 60468b1

Action: "android.service.wallpaper.CROP_AND_SET_WALLPAPER"

Category: "android.intent.category.DEFAULT"

Type: "image"

mPriority=0, mHasPartialTypes=true

AutoVerify=false

Wild MIME Types:

image:

6c52abe com.android.launcher3/.WallpaperCropActivity filter 60468b1

Action: "android.service.wallpaper.CROP_AND_SET_WALLPAPER"

Category: "android.intent.category.DEFAULT"

Type: "image"

mPriority=0, mHasPartialTypes=true

AutoVerify=false

Non-Data Actions:

android.intent.action.MAIN:

863513 com.android.launcher3/.Launcher filter 5331e35

Action: "android.intent.action.MAIN"

Category: "android.intent.category.HOME"

Category: "android.intent.category.DEFAULT"

Category: "android.intent.category.MONKEY"

AutoVerify=false

d029350 com.android.launcher3/.LauncherExtension filter bf632ca

Action: "android.intent.action.MAIN"

Category: "android.intent.category.HOME"

Category: "android.intent.category.DEFAULT"

Category: "android.intent.category.MONKEY"

AutoVerify=false

2db4949 com.android.launcher3/.ToggleWeightWatcher filter d895c3b

Action: "android.intent.action.MAIN"

Category: "android.intent.category.DEFAULT"

AutoVerify=false

f28a24e com.android.launcher3/.MemoryDumpActivity filter 1acb196

Action: "android.intent.action.MAIN"

Category: "android.intent.category.DEFAULT"

AutoVerify=false

android.intent.action.SET_WALLPAPER:

e77c03c com.android.launcher3/.LauncherWallpaperPickerActivity filter e386f58

Action: "android.intent.action.SET_WALLPAPER"

Category: "android.intent.category.DEFAULT"

AutoVerify=false

...

输出launcher3的安装信息,信息太多了,截取其中一段

包安装

格式: pm install [-lrtsfd] [-i PACKAGE] [--user USER_ID] [PATH]

参数说明:

[-lrtsfd]说明

参数说明-l锁定应用

-r强行安装(即便设备上已经存在该app,也重新安装并覆盖)

-t安装测试包(一般是debug包)

-s安装到sd卡(/mnt/sdcard,用户分区)中

-f安装到内置卡(/data/data,data分区)中

-d允许降级安装(同一应用低级换高级)

[-i PACKAGE]

表示指定包名

[--user USER_ID]

表示指定用户ID

[PATH]

apk的路径,如: /sdcard/release.apk

通常在开发过程中,如下使用:

强行安装apk包

$pm install -r /sdcard/release.apk

安装测试包

$pm install -t /sdcard/debug.apk

包卸载

格式: pm uninstall [-k] [--user USER_ID] PACKAGE

参数说明

参数说明-k卸载应用且保留数据与缓存,如果不加 -k 则全部删除

--user用户ID,android下目前只有一个用户,这个值默认为0

常用指令

$pm uninstall com.example.test

卸载普通应用包

#pm uninstall -k --user 0 com.android.launcher3

注意卸载系统包,需要root权限

清空应用缓存

格式: pm clear [--user USER_ID] PACKAGE

如: 清理launcher3的指令

$pm clear --user 0 com.android.launcher3

x20l_fhd_portrait:/ $ pm clear --user 0 com.android.launcher3

Success

隐藏和显示安装包

格式: pm hide [--user USER_ID] PACKAGE_OR_COMPONENT

以设置程序为例子,进行隐藏

$pm hide --user 0 com.android.settings

x20l_fhd_portrait:/ $ pm hide --user 0 com.android.settings

Error: java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_USERS.

报错了,这个指令需要root权限

格式: pm unhide [--user USER_ID] PACKAGE_OR_COMPONENT

以设置程序为例子,进行显示

$pm unhide --user 0 com.android.settings

x20l_fhd_portrait:/ $ pm unhide --user 0 com.android.settings

Error: java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_USERS.

同样需要root权限

授权和撤销权限

格式: pm grant [--user USER_ID] PACKAGE PERMISSION

$pm grant --user 0 com.android.launcher3 android.permission.WRITE_EXTERNAL_STORAGE

格式: pm revoke [--user USER_ID] PACKAGE PERMISSION

$pm revoke --user 0 com.android.launcher3 android.permission.WRITE_EXTERNAL_STORAGE

需要root权限

获取系统支持最大用户数

格式: pm get-max-users

$pm get-max-users

x20l_fhd_portrait:/ $ pm get-max-users

Maximum supported users: 4

android pm list,Android pm命令相关推荐

  1. android工具am的用法,Android中AM、PM、dumpsys命令使用总结

    在平时开发中,通过命令行有时候能够快速的帮我们实现一些功能,这里对常用的命令做一些总结. 1.AM命令用法 1.1.简单介绍 am指令是 activity manager的缩写,可以启动Service ...

  2. android 停用应用的命令,免Root使用ADB命令_停用手机系统应用

    菜鸟教程,老鸟勿喷! 对于未解锁的手机,总存在那么一些我们用不到,甚至看都不想看到的应用,但是没办法卸载,在这里提供一些禁用掉这些应用的方法供参考: 1. 开发者模式打开ADB调试 2. 连接电脑,在 ...

  3. Android底层控制系统设置的命令集合

    1.关机    poweroff -f 2.设置系统时间    date -s yyyyMMdd.HHmmss 3.LCD背光开关    echo enable/disable > sys/cl ...

  4. Android ADB原理及常用命令

    Android调试桥(ADB, Android Debug Bridge)是一个Android命令行工具,包含在SDK 平台工具包中,adb可以用于连接Android设备,或者模拟器,实现对设备的控制 ...

  5. android系统提供的常用命令行工具

    本博客只要没有注明"转",那么均为原创,转贴请注明本博客链接链接 android提供了不少命令行工具,方便我们调试和查看信息.下面是frameworks/base/cmds(and ...

  6. Android:玩转ADB命令(ADB命令使用大全)

    此文章内容整合自网络,欢迎转载. 我相信做Android开发的朋友都用过ADB命令,但是也只是限于安装应用push文件和设备重启相关,更深的就不知道了,其实我们完全可以了解多一点,有一些不常用的场景我 ...

  7. android 停用应用的命令,【ADB命令实战】免ROOT停用小米手机系统应用

    对于未解锁的手机,总存在那么一些我们用不到,甚至看都不想看到的应用,但是没办法卸载,在这里提供一些禁用掉这些应用的方法供参考:本内容是以小米的MIUI系统为例,其他品牌机型不确保可以成功,毕竟系统应用 ...

  8. ReactNative生成android平台的bundle文件命令

    ReactNative生成android平台的bundle文件命令 2016年11月03日 23:23:28 阅读数:4869 注:如果assets文件没有正确生成,需要手机创建或授权 网上的其它的很 ...

  9. 【Android 逆向】Android 逆向通用工具开发 ( Android 端远程命令工具 | Android 端可执行程序的 main 函数操作 | TCP 协议服务器建立 | 接收客户端数据 )

    文章目录 前言 一.Android 端可执行程序的 main 函数操作 二.Android 端 TCP 协议服务器建立 三.Android 端接收 PC 端传来的数据 四.博客资源 前言 本篇博客重点 ...

最新文章

  1. 合工大的计算机专业好不好,合肥工业大学计算机好,还是西电的好?差距有多大?...
  2. vue2 构建一个旅游类WebApp
  3. tomcat+bean例子
  4. viewpager 无网络的时候滑动异常
  5. PHP中的符号 -、= 和 :: 分别表示什么意思?以及this,self,parent三个关键字的理解!...
  6. 用php怎么输出饼状图,php绘图之生成饼状图的方法_PHP
  7. Web开发中的用户角色权限设计总结
  8. SAP Spartacus里Commerce后台CMS Component和前台Angular的一一映射关系
  9. 【面向对象】面向对象程序设计测试题13-Java异常处理测试题
  10. Mysql 存储过程实现订单流水号
  11. python语言程序设计西安电子科技大学答案-中国科学技术大学2019自命题科目覆盖范围及参考书目...
  12. SEO优化中关键词密度和布局的重要性
  13. 用java编程实现java代码的次行代码风格转化为尾行代码风格
  14. 分析力学-清华大学基科班课件
  15. 移动互联网主要的技术标准
  16. 9个很棒的CSS边框技巧
  17. 配置JDK和Tomcat环境变量
  18. java波斯王子武者之心,波斯王子2:武者之心通关攻略
  19. 2017南京师范大学计算机学院录取名单,关于公布南京师范大学2017年硕士研究生复试成绩及录取名单的通知...
  20. UVA11400:简单dp

热门文章

  1. 虚拟机打电话发短信方法
  2. App地推统计:最全面的业绩统计方案
  3. Flink流式计算从入门到实战 二
  4. 高恪智能流控怎么设置_磊科285G智能QoS与高恪K2P智能流控多用户对比评测(下, 多用户对比测试)...
  5. Android TV Demo 工程,其中包含 TV 常用的自定义控件,飞框效果实现,外边框效果实现,UI 控件焦点自动处理,使 TV 开发更简单,更高效。
  6. Sa函数 与 sinc函数
  7. promise封装小程序的蓝牙类
  8. TCP/UDP协议常见端口号
  9. 4.10 单元格内容的隐藏和保护 [原创Excel教程]
  10. 【Paper】毕业论文免费查重网站平台汇总