本文主要分享软件管理器PM常用命令,如有错误,欢迎指正。
更多Android技术分享可以关注我的Android技术圈子,也可以加入QQ群号:690347536,学习交流Android开发技能。
一、软件包管理器(pm)常用命令
命令格式
pm command
例如:
adb shell pm uninstall com.example.HelloWorld 卸载APP
- 输出软件包
pm list packages [options] filter 输入所有软件包/软件包名称包含filter中文本的软件包
-f:查看它们的关联文件。
-d:进行过滤以仅显示已停用的软件包。
-e:进行过滤以仅显示已启用的软件包。
-s:进行过滤以仅显示系统软件包。
-3:进行过滤以仅显示第三方软件包。
-i:查看软件包的安装程序。
-u:也包括已卸载的软件包。
--user user_id:要查询的用户空间。
- 输出所有已知的权限组
pm list permission-groups
- 输出所有已知的权限
pm list permisssion [options] group 输出所有已知的权限/仅输出group中的权限
-g:按组进行整理。
-f:输出所有信息。
-s:简短摘要。
-d:仅列出危险权限。
-u:仅列出用户将看到的权限。
- 输出系统的所有功能
pm list feature
- 输出当前设备支持的所有库
pm list libraries
- 安装软件包
pm install [options] path 将软件包(通过path指定)安装到系统
-r:重新安装现有应用,并保留其数据。
-t:允许安装测试 APK。仅当您运行或调试了应用或者使用了 Android Studio 的 **Build >
Build APK** 命令时,Gradle 才会生成测试 APK。如果是使用开发者预览版 SDK(如
果 targetSdkVersion 是字母,而非数字)构建的 APK,那么安装测试 APK 时必须
在 install 命令中包含 [-t] 选项。
-i installer_package_name:指定安装程序软件包名称。
--install-location location:使用以下某个值设置安装位置:
0:使用默认安装位置。
1:在内部设备存储上安装。
2:在外部介质上安装。
-f:在内部系统内存上安装软件包。
-d:允许版本代码降级。
-g:授予应用清单中列出的所有权限。
--fastdeploy:通过仅更新已更改的 APK 部分来快速更新安装的软件包。
--incremental:仅安装 APK 中启动应用所需的部分,同时在后台流式传输剩余数据。如要使用此
功能,您必须为 APK 签名,只有部分设备支持此功能。此选项会强制 adb 使用该功能,如果该功能
不受支持,则会失败(并提供有关失败原因的详细信息)。附加 `--wait` 选项,可等到 APK 完全
安装完毕后再授予对 APK 的访问权限。
--no-incremental 可阻止 adb 使用此功能。
- 卸载软件包
pm uninstall [options] package
-k:移除软件包后保留数据和缓存目录
- 删除与软件包关联的所有数据
clear package
- 向应用授予权限
grant package_name permission Android6.0及更好版本中动态权限授权
二、截取屏幕截图
screencap filename
eg: adb shell screencap /mnt/sdcard/screen.png
三、录制屏幕
screenrecord [options] filename
--help 获取完整帮助信息
--size widthxheight 设置录制视频大小
--bit-rate rate 设置视频的比特率
--time-limit time 设置视频的最大录制时常
--rotate 讲输出旋转90度
--verbose 在命令行显示日志
eg:adb shell screenrecord --verbose /mnt/sdcard/aa.mp4
更多Android技术分享可以关注我的Android技术圈子,也可以加入QQ群号:690347536,学习交流Android开发技能。