Android pm 命令详解

一、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.权限基础

权限的组成:权限的名称,属于的权限组,保护级别

例如:

授权( 取消权限同理)

三、其他信息查询
1.测试包与apk路径查询

pm

子命令

参数

说明
list instrymentation 无参数 列出所有的instrumentation测试包
-f 列出apk文件位置
列出某个app的测试包
path 打印指定包名的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 指定安装包的包名
-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.清除应用数据

pm clear <PACKAGE_NAME>

2.禁用和启用应用

pm

只有系统应用才可以用,第三方应用不行

子命令

说明
enable 使package或component可用
disenable 使package或component不可用(直接就找不到应用了)
disenable-user [options] 使package或component不可用(会显示已停用)

3.隐藏与恢复应用

pm

被隐藏应用在应用管理中变得不可见,桌面图标也会消失

子命令

说明
hide PACKAGE_OR_COMPONENT 隐藏package或component
unhide PACKAGE_OR_CONPONENT 恢复可见package或component

4.控制应用的默认安装位置

pm

需要root权限

子命令

说明
set-install-location 更改默认的安装位置:
0:自动-让系统决定最好的位置
1:内部存储-安装在内部设备上的存储
2:外部存储-安装在外部媒体
注:只用于调试,不要瞎搞
get-install-localtion 返回当前的安装位置
0
1
2
对应上面的数字说明

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android系统是一种基于Linux内核的操作系统,而Android的Shell命令则是在Android系统中运行的命令。下面是一些常用的Android Shell命令的简要介绍: 1. adb:Android Debug Bridge的缩写,是一种用于与Android设备进行通信的命令行工具,可用于安装应用程序、传输文件、执行命令等。 2. am:Android Activity Manager的缩写,用于管理Android应用程序的活动(Activity)和服务(Service),可以启动、停止、打开、关闭等。 3. pmAndroid Package Manager的缩写,用于管理Android应用程序的安装包(APK文件),可以安装、卸载、查询应用程序等。 4. wm:Android Window Manager的缩写,用于管理Android窗口和显示,可以设置屏幕分辨率、旋转屏幕、调整窗口大小等。 5. input:用于模拟用户输入,可以发送触摸事件、按键事件等。 6. su:切换到超级用户(root)权限,可以执行一些需要root权限才能进行的操作。 7. cd:切换当前目录。 8. ls:显示当前目录下的文件和目录。 9. mkdir:创建新的目录。 10. cp:复制文件或目录。 11. mv:移动文件或目录。 12. rm:删除文件或目录。 13. cat:显示文件内容。 14. ps:显示正在运行的进程列表。 15. top:实时显示系统资源使用情况。 这些只是Android Shell命令的一小部分,Android提供了更多的命令可以用于开发、调试和管理Android设备。对于想要深入了解Android Shell命令的开发者来说,可以查阅更详尽的Android开发者文档或其他相关资料。 ### 回答2: Android是一种基于Linux内核的开源操作系统,它具有强大的命令行界面及Shell命令集。以下是一些常用的Android Shell命令集合: 1. adb命令:Android Debug Bridge,用于与Android设备通信,例如adb shell用于进入设备的Shell环境。 2. su命令:切换到超级用户权限,用于执行需要root权限才能操作的命令。 3. pm命令:Package Manager,用于管理、安装、卸载应用程序。例如pm list packages显示已安装的包名列表。 4. am命令:Activity Manager,用于启动Activity、发送广播等操作。例如am start -n com.example.app/.MainActivity启动应用程序的主界面。 5. input命令:模拟用户输入,例如input tap模拟点击屏幕、input keyevent模拟按键事件。 6. dumpsys命令:获取系统服务的信息。例如dumpsys battery获取电池信息、dumpsys meminfo获取内存使用情况。 7. settings命令:用于访问和修改系统设置,例如settings put system screen_brightness 100设置屏幕亮度为最大值。 8. pm命令:Package Manager,用于管理、安装、卸载应用程序。例如pm install /sdcard/app.apk安装应用程序。 9. getprop和setprop命令:用于获取和设置系统属性。例如getprop ro.build.version获取系统版本号。 10. logcat命令:用于查看设备的日志信息。例如logcat -d打印设备的日志。 这些只是Android Shell命令中的一小部分,通过这些命令可以对Android设备进行各种操作和管理。具体使用时可以参考相关的文档和教程。 ### 回答3: Android shell命令是一组能在Android设备上执行的命令集合,它在设备系统级别上提供了许多功能和控制选项。以下是一些常用的Android shell命令: 1. adb shell:通过adb(Android调试桥)连接到设备上的shell。 2. ls:列出目录中的文件和子目录。 3. cd:切换当前工作目录。 4. cp:复制文件或目录。 5. mv:移动文件或目录。 6. rm:删除文件或目录。 7. cat:查看文件内容。 8. echo:打印文本到终端或文件。 9. ps:显示当前运行中的进程。 10. top:显示当前系统资源使用情况和进程列表。 11. kill:终止指定的进程。 12. chmod:修改文件或目录的权限。 13. chown:修改文件或目录的所有者。 14. ifconfig:显示网络接口配置信息。 15. ping:测试网络连接和延迟。 16. netstat:显示网络连接和路由表。 17. mount:挂载文件系统。 18. umount:卸载文件系统。 19. getprop:获取设备属性信息。 20. grep:在文件或文本中搜索指定的模式。 这只是常用命令的一小部分,Android shell命令非常丰富,可以用于执行各种系统管理、文件操作、进程管理、网络配置和调试等任务。通过使用这些命令,开发者可以更好地理解和控制Android设备。请注意,使用这些命令时需要小心,以免对系统造成不可逆的影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值