宅科技 - 科技,宅出新生活

搜索
热搜: 活动 交友 discuz
如果你还没有论坛的账号,赶快注册吧!
立即注册

合作站点账号登陆

快捷导航
查看: 115|回复: 1

[adb命令、debug调试] pm命令介绍与包名信息查询

[复制链接] [提交至百度]

37

主题

45

帖子

549

积分

超级版主

Rank: 8Rank: 8

积分
549
发表于 2018-7-28 18:35:18 | 显示全部楼层 |阅读模式
扫码领红包
一、pm命令介绍与包名信息查询
1.pm命令介绍
pm工具为包管理(package manager)的简称
可以使用pm工具来执行应用的安装和查询应用宝的信息、系统权限、控制应用
pm工具是Android开发与测试过程中必不可少的工具,shell命令格式如下:
pm <command>
2.包名信息查询
shell模式下:
pm list packages [options] [FILTER]
打印所有的已经安装的应用的包名,如果设置了文件过滤则值显示包含过滤文字的内容
参数
描述
-f显示每个包的文件位置
-d使用过滤器,只显示禁用的应用的包名
-e使用过滤器,只显示可用的应用的包名
-s使用过滤器,只显示系统应用的包名
-3使用过滤器,只显示第三方应用的包名
-i查看应用的安装者

二、权限信息查询1.权限基础
权限的组成:权限的名称,属于的权限组,保护级别
例如:
<permission android:description="string resource"android:icon="drable resource"android:label="string resource"android:name="string"android:permissionGroup="string"android:protectionLevel=["normal"|"dangerous"|"signature"|"signatureOrSystem"]/>
protectionLevel
说明
normal表示权限是低风险的,不会对系统,用户或其他应用程序造成危害
dangerous表示权限是高风险的,系统将可能要球用户输入相关信息,才会授予此权限
signature表示只有当应用程序所用数字签名与声明引用权限的应用程序所用签名相同时,才能将权限授予给它
signatureOrSystem需要签名或者系统级应用(放置在/system/app目录下)才能赋予权限
system系统级应用(放置在/system/app目录下)才能赋予权限
自定义权限应用自行定义的权限

2.权限查询
shell模式下:
pm list permission-groups
#打印所有已知的权限组
pm list permissions [options] [GROUP]
#打印权限
参数可以组合使用例如:pm list permissions –g -d
参数
说明
-g按组进行列出权限
-f打印所有信息
-s简短的摘要
-d只有危险的权限列表
-u只有权限的用户将看到列表
用户自定义权限

3.授权与取消
注意:目标apk的minSdkVersion、targetSdkVersion也必需为23及以上
子命令
说明
grant <package_name> <permission>授予应用权限许可。必需android6.0(API级别23)以上的设备
revoke <package_name> <permission>撤销应用权限。必需android6.0(API级别23)以上的设备
例如:
需要注意的是所谓的授权是指你的apk里面已有的权限进行授权,相当于启用的概念
adb shell pm grant <packageName> android.permission.READ_CONTACTS#授权( 取消权限同理)

三、其他信息查询1.测试包与apk路径查询
pm
子命令
参数
说明
list instrymentation
无参数列出所有的instrumentation测试包
-f列出apk文件位置
<target_package>列出某个app的测试包
path <package><package>打印指定包名的apk路径
例如:
adb shell pm list instrumentation
adb shell pm list instrumentation TARGET_PACKAGE
adb shell pm path PACKAGE_NAME
2.系统功能与支持库查询
pm
子命令
说明
list feature打印系统的所有功能
列出所有硬件相关信息
list libraries打印当前设备所支持的所有库
例如:
adb shell pm list feature
3.打印包的系统状态信息
pm dump PACKAGE
打印给定的包的系统状态
打印内容
说明
DUMP OF SERVICE package打印服务信息
DUMP OF SERVICE activity打印activity信息
DUMP OF SERVICE meminfo打印当前内存使用信息
DUMP OF SERVICE procstats打印系统内存使用与一段时间内存汇总
DUMP OF SERVICE usagestats打印服务器使用状态信息
DUMP OF SERVICE batterystats打印电池状态信息
例如:
adb shell pm dump PACKAGE_NAME

四、安装与卸载1.安装
pm install [-lrtsfd] [-i PACKAGE] [PATH]
通过指定路径安装apk到手机中(与adb install不同的是adb install安装的.apk是在你的电脑上,而pm install安装的apk是存储在你的手机中)
参数
说明
-l锁定应用程序
-r重新安装应用,且保留应用数据
-t允许测试apk被安装
-i <INSTALLER_PACKAGE_NAME>指定安装包的包名
-s安装到sd卡
-f安装到系统内置存储中(默认安装位置)
-d允许降级安装(同一应用低级换高级)
-g授予应用程序清单中列出的所有权限(只有6.0系统可用)
首先将test.apk文件push到手机目录中比如/data/local/tmp
adb shell pm install /data/local/tmp/test.apk           #安装
adb shell pm install –r /data/local/tmp/test.apk       #重新安装
2.卸载
pm uninstall [options] <;PACKAGE>
#卸载应用
参数
说明
-k卸载应用且保留数据与缓存(如果不加-k则全部删除)

五、控制命令1.清除应用数据
游客,如果您要查看本帖隐藏内容请回复
2.禁用和启用应用
游客,如果您要查看本帖隐藏内容请回复
3.隐藏与恢复应用
游客,如果您要查看本帖隐藏内容请回复
4.控制应用的默认安装位置
游客,如果您要查看本帖隐藏内容请回复






上一篇:【经验分享】用adb揪出安卓APP弹窗广告的原形
下一篇:小米6 MIUI10 安卓8.0 刷入Root+Xposed
回复

使用道具 举报

0

主题

6

帖子

18

积分

吃瓜群众

Rank: 1

积分
18
发表于 2018-10-7 15:32:38 | 显示全部楼层
谢谢分享!
回复

使用道具 举报

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

本版积分规则

微信公众号
微信扫码关注,
回复“领取金币”
每周抽取5位
会员奖励500金币

QQ|Archiver|手机版|小黑屋|宅科技 ( 粤ICP备15107403号

GMT+8, 2018-11-16 03:29 , Processed in 0.803352 second(s), 33 queries .

Copyright © 2016 宅科技 | 智能终端极客社区

Powered by Discuz! X3.2 Licensed

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