当前位置: 首页 > 工具软件 > pm2Manage > 使用案例 >

android pm 列出权限,Android pm命令

韦智刚
2023-12-01

介绍

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

 类似资料: