搜索
热搜: 活动 交友 discuz
查看: 1169|回复: 0

[知识科普] pm命令介绍与包名信息查询

[复制链接]

29

主题

30

帖子

164

积分

超级版主

Rank: 8Rank: 8

积分
164
发表于 2018-7-28 18:35:18 | 显示全部楼层 |阅读模式
一、pm命令介绍与包名信息查询
1.pm命令介绍
pm工具为包管理(package manager)的简称可以使用pm工具来执行应用的安装和查询应用宝的信息、系统权限、控制应用pm工具是Android开发与测试过程中必不可少的工具,shell命令格式如下:
pm
2.包名信息查询shell模式下:
pm list packages [options] [FILTER]打印所有的已经安装的应用的包名,如果设置了文件过滤则值显示包含过滤文字的内容
[table][tr][td=1,1,61]参数[/td][td=1,1,399]描述[/td][/tr][tr][td=1,1,61]-f[/td][td=1,1,399]显示每个包的文件位置[/td][/tr][tr][td=1,1,61]-d[/td][td=1,1,399]使用过滤器,只显示禁用的应用的包名[/td][/tr][tr][td=1,1,61]-e[/td][td=1,1,399]使用过滤器,只显示可用的应用的包名[/td][/tr][tr][td=1,1,61]-s[/td][td=1,1,399]使用过滤器,只显示系统应用的包名[/td][/tr][tr][td=1,1,61]-3[/td][td=1,1,399]使用过滤器,只显示第三方应用的包名[/td][/tr][tr][td=1,1,61]-i[/td][td=1,1,399]查看应用的安装者
二、权限信息查询1.权限基础权限的组成:权限的名称,属于的权限组,保护级别例如:
[table][tr][td=1,1,130]protectionLevel[/td][td=1,1,586]说明[/td][/tr][tr][td=1,1,130]normal[/td][td=1,1,586]表示权限是低风险的,不会对系统,用户或其他应用程序造成危害[/td][/tr][tr][td=1,1,130]dangerous[/td][td=1,1,586]表示权限是高风险的,系统将可能要球用户输入相关信息,才会授予此权限[/td][/tr][tr][td=1,1,130]signature[/td][td=1,1,586]表示只有当应用程序所用数字签名与声明引用权限的应用程序所用签名相同时,才能将权限授予给它[/td][/tr][tr][td=1,1,130]signatureOrSystem[/td][td=1,1,586]需要签名或者系统级应用(放置在/system/app目录下)才能赋予权限[/td][/tr][tr][td=1,1,130]system[/td][td=1,1,586]系统级应用(放置在/system/app目录下)才能赋予权限[/td][/tr][tr][td=1,1,130]自定义权限[/td][td=1,1,586]应用自行定义的权限
2.权限查询shell模式下:
pm list permission-groups#打印所有已知的权限组pm list permissions [options] [GROUP]#打印权限
参数可以组合使用例如:pm list permissions –g -d[table][tr][td=1,1,50]参数[/td][td=1,1,350]说明[/td][/tr][tr][td=1,1,50]-g[/td][td=1,1,350]按组进行列出权限[/td][/tr][tr][td=1,1,50]-f[/td][td=1,1,350]打印所有信息[/td][/tr][tr][td=1,1,50]-s[/td][td=1,1,350]简短的摘要[/td][/tr][tr][td=1,1,50]-d[/td][td=1,1,350]只有危险的权限列表[/td][/tr][tr][td=1,1,50]-u[/td][td=1,1,350]只有权限的用户将看到列表
用户自定义权限
3.授权与取消注意:目标apk的minSdkVersion、targetSdkVersion也必需为23及以上[table][tr][td=1,1,265]子命令[/td][td=1,1,423]说明[/td][/tr][tr][td=1,1,265]grant  [/td][td=1,1,423]授予应用权限许可。必需android6.0(API级别23)以上的设备[/td][/tr][tr][td=1,1,265]revoke  [/td][td=1,1,423]撤销应用权限。必需android6.0(API级别23)以上的设备例如:需要注意的是所谓的授权是指你的apk里面已有的权限进行授权,相当于启用的概念adb shell pm grant  android.permission.READ_CONTACTS#授权( 取消权限同理)

三、其他信息查询1.测试包与apk路径查询
pm
[table][tr][td=1,1,133]子命令[/td][td=1,1,133]参数[/td][td=1,1,255]说明[/td][/tr][tr][td=1,3,133]list instrymentation[/td][td=1,1,133]无参数[/td][td=1,1,255]列出所有的instrumentation测试包[/td][/tr][tr][td=1,1,133]-f[/td][td=1,1,255]列出apk文件位置[/td][/tr][tr][td=1,1,133][/td][td=1,1,255]列出某个app的测试包[/td][/tr][tr][td=1,1,133]path [/td][td=1,1,133][/td][td=1,1,255]打印指定包名的apk路径例如:adb shell pm list instrumentationadb shell pm list instrumentation TARGET_PACKAGEadb shell pm path PACKAGE_NAME2.系统功能与支持库查询
pm
[table][tr][td=1,1,100]子命令[/td][td=1,1,300]说明[/td][/tr][tr][td=1,1,100]list feature[/td][td=1,1,300]打印系统的所有功能
列出所有硬件相关信息[/td][/tr][tr][td=1,1,100]list libraries[/td][td=1,1,300]打印当前设备所支持的所有库例如:adb shell pm list feature3.打印包的系统状态信息
pm dump PACKAGE打印给定的包的系统状态
[table][tr][td=1,1,212]打印内容[/td][td=1,1,236]说明[/td][/tr][tr][td=1,1,212]DUMP OF SERVICE package[/td][td=1,1,236]打印服务信息[/td][/tr][tr][td=1,1,212]DUMP OF SERVICE activity[/td][td=1,1,236]打印activity信息[/td][/tr][tr][td=1,1,212]DUMP OF SERVICE meminfo[/td][td=1,1,236]打印当前内存使用信息[/td][/tr][tr][td=1,1,212]DUMP OF SERVICE procstats[/td][td=1,1,236]打印系统内存使用与一段时间内存汇总[/td][/tr][tr][td=1,1,212]DUMP OF SERVICE usagestats[/td][td=1,1,236]打印服务器使用状态信息[/td][/tr][tr][td=1,1,212]DUMP OF SERVICE batterystats[/td][td=1,1,236]打印电池状态信息例如:adb shell pm dump PACKAGE_NAME
四、安装与卸载1.安装
pm install [-lrtsfd] [-i PACKAGE] [PATH]通过指定路径安装apk到手机中(与adb install不同的是adb install安装的.apk是在你的电脑上,而pm install安装的apk是存储在你的手机中)
[table][tr][td=1,1,232]参数[/td][td=1,1,430]说明[/td][/tr][tr][td=1,1,232]-l[/td][td=1,1,430]锁定应用程序[/td][/tr][tr][td=1,1,232]-r[/td][td=1,1,430]重新安装应用,且保留应用数据[/td][/tr][tr][td=1,1,232]-t[/td][td=1,1,430]允许测试apk被安装[/td][/tr][tr][td=1,1,232]-i [/td][td=1,1,430]指定安装包的包名[/td][/tr][tr][td=1,1,232]-s[/td][td=1,1,430]安装到sd卡[/td][/tr][tr][td=1,1,232]-f[/td][td=1,1,430]安装到系统内置存储中(默认安装位置)[/td][/tr][tr][td=1,1,232]-d[/td][td=1,1,430]允许降级安装(同一应用低级换高级)[/td][/tr][tr][td=1,1,232]-g[/td][td=1,1,430]授予应用程序清单中列出的所有权限(只有6.0系统可用)首先将test.apk文件push到手机目录中比如/data/local/tmpadb shell pm install /data/local/tmp/test.apk           #安装adb shell pm install –r /data/local/tmp/test.apk       #重新安装2.卸载
pm uninstall [options] #卸载应用
[table][tr][td=1,1,82]参数[/td][td=1,1,348]说明[/td][/tr][tr][td=1,1,82]-k[/td][td=1,1,348]卸载应用且保留数据与缓存(如果不加-k则全部删除)
五、控制命令<strong>1.清除应用数据<strong>2.禁用和启用应用<strong>3.隐藏与恢复应用<strong>4.控制应用的默认安装位置



来源:{http://bbs.zecoki.com/forum-70-1.html}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




上一篇:Android ROM制作开发教程、原理
下一篇:Android PC投屏简单尝试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

抖音账号
关注抖音
加入粉丝群,抽取论坛金币


Archiver|手机版|小黑屋|IT趣-GEEK社区

GMT+8, 2024-4-25 01:27 , Processed in 0.063963 second(s), 22 queries .

Powered by Discuz! X3.4. 技术支持 by 巅峰设计

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表