help
: 显示帮助信息。
path
: 打印指定包的 APK 文件路径。
参数:
--user USER_ID
PACKAGE
--user USER_ID
: 指定要查询的用户 ID。PACKAGE
: 要查询的包名。
dump
: 打印与指定包相关的系统状态信息。
参数:
PACKAGE
PACKAGE
: 要查询的包名。
has-feature
: 检查系统是否具有指定的特性。
参数:
FEATURE_NAME
[version]
说明: 如果系统具有该特性,则打印
true
并返回退出状态码 0;否则打印false
并返回退出状态码 1。FEATURE_NAME
: 特性名称。[version]
: 可选参数,指定特性的版本。
list features
: 列出系统的所有特性。
list instrumentation
: 列出所有测试包,可以选择只列出针对指定目标包的测试包。
参数:
[-f]
[TARGET-PACKAGE]
-f
: 打印包含测试包的 APK 文件名。TARGET-PACKAGE
: 目标包名。
list libraries
: 列出所有系统库。
list packages
: 列出所有已安装的包,可以选择过滤条件。
参数:
[-f]
[-d]
[-e]
[-s]
[-3]
[-i]
[-l]
[-u]
[-U]
[--show-versioncode]
[--apex-only]
[--uid UID]
[--user USER_ID]
[FILTER]
-f
: 打印包的关联文件。-a
: 打印所有已知的包(但不包括 APEX 包)。-d
: 过滤,只显示已禁用的包。-e
: 过滤,只显示已启用的包。-s
: 过滤,只显示系统包。-3
: 过滤,只显示第三方包。-i
: 打印包的安装程序。-l
: 被忽略(用于与旧版本兼容)。-U
: 也显示包的 UID。-u
: 也包含未安装的包。--show-versioncode
: 也显示版本代码。--apex-only
: 只显示 APEX 包。--uid UID
: 过滤,只显示具有指定 UID 的包。--user USER_ID
: 只列出属于指定用户的包。FILTER
: 过滤条件,只显示名称包含该文本的包。
list permission-groups
: 列出所有已知的权限组。
list permissions
: 列出所有已知的权限,可以选择过滤条件。
参数:
[-g]
[-f]
[-d]
[-u]
[GROUP]
-g
: 按组组织权限。-f
: 打印所有信息。-s
: 简短摘要。-d
: 只列出危险权限。-u
: 只列出用户可见的权限。GROUP
: 权限组名称。
list staged-sessions
: 列出所有已暂存的安装会话。
参数:
[--only-ready]
[--only-sessionid]
[--only-parent]
--only-ready
: 只显示已准备好的暂存会话。--only-sessionid
: 只显示每个会话的会话 ID。--only-parent
: 隐藏所有子会话。
list users
: 列出所有用户。
resolve-activity
: 打印与指定意图匹配的活动。
参数:
[--brief]
[--components]
[--query-flags FLAGS]
[--user USER_ID]
INTENT
--brief
: 简短输出。--components
: 打印组件名称。--query-flags FLAGS
: 指定查询标志。--user USER_ID
: 指定要查询的用户 ID。INTENT
: 意图。
query-activities
: 打印所有可以处理指定意图的活动。
参数:
[--brief]
[--components]
[--query-flags FLAGS]
[--user USER_ID]
INTENT
--brief
: 简短输出。--components
: 打印组件名称。--query-flags FLAGS
: 指定查询标志。--user USER_ID
: 指定要查询的用户 ID。INTENT
: 意图。
query-services
: 打印所有可以处理指定意图的服务。
参数:
[--brief]
[--components]
[--query-flags FLAGS]
[--user USER_ID]
INTENT
--brief
: 简短输出。--components
: 打印组件名称。--query-flags FLAGS
: 指定查询标志。--user USER_ID
: 指定要查询的用户 ID。INTENT
: 意图。
query-receivers
: 打印所有可以处理指定意图的广播接收器。
参数:
[--brief]
[--components]
[--query-flags FLAGS]
[--user USER_ID]
INTENT
--brief
: 简短输出。--components
: 打印组件名称。--query-flags FLAGS
: 指定查询标志。--user USER_ID
: 指定要查询的用户 ID。INTENT
: 意图。
install
: 安装应用。
install-existing
: 为新用户安装已存在的应用。
参数:
[--user USER_ID|all|current]
[--instant]
[--full]
[--wait]
[--restrict-permissions]
PACKAGE
--user
: 指定要安装应用的目标用户。--instant
: 将应用安装为即时应用。--full
: 将应用安装为完整应用。--wait
: 等待应用安装完成。--restrict-permissions
: 不将受限权限列入白名单。PACKAGE
: 要安装的应用的包名。
install-create
: 创建一个安装会话。
install-write
: 将 APK 文件写入安装会话。
参数:
[-S BYTES]
SESSION_ID
SPLIT_NAME
[PATH|-]
说明: 如果路径为
-
,则从标准输入读取数据。-S
: 指定包的大小(以字节为单位),在从标准输入读取数据时需要。SESSION_ID
: 安装会话的 ID。SPLIT_NAME
: 拆分包的名称。[PATH|-]
: APK 文件的路径,或者-
表示从标准输入读取数据。
install-remove
: 从安装会话中移除指定的拆分包。
参数:
SESSION_ID
SPLIT...
SESSION_ID
: 安装会话的 ID。SPLIT...
: 要移除的拆分包的名称。
install-add-session
: 将一个或多个会话 ID 添加到多包会话中。
参数:
MULTI_PACKAGE_SESSION_ID
CHILD_SESSION_IDs
MULTI_PACKAGE_SESSION_ID
: 多包会话的 ID。CHILD_SESSION_IDs
: 要添加的子会话 ID。
install-commit
: 提交安装会话,安装应用。
参数:
SESSION_ID
SESSION_ID
: 安装会话的 ID。
install-abandon
: 删除安装会话。
参数:
SESSION_ID
SESSION_ID
: 安装会话的 ID。
set-install-location
: 更改默认安装位置。
参数:
LOCATION
说明: 注意,这仅用于调试,使用此命令可能会导致应用崩溃和其他不良行为。
LOCATION
: 安装位置,可以是以下值之一:0 [auto]
: 让系统决定最佳位置。1 [internal]
: 安装到设备内部存储。2 [external]
: 安装到外部存储。
get-install-location
: 获取当前安装位置。
说明: 返回当前安装位置,值为
0
、1
或2
,与set-install-location
命令中的值相同。
move-package
: 移动包。
参数:
PACKAGE
[internal|UUID]
PACKAGE
: 要移动的包名。[internal|UUID]
: 目标存储位置,可以是internal
(内部存储)或 UUID(磁盘卷的 UUID)。
move-primary-storage
: 移动主存储。
参数:
[internal|UUID]
[internal|UUID]
: 目标存储位置,可以是internal
(内部存储)或 UUID(磁盘卷的 UUID)。
uninstall
: 卸载应用。
参数:
[-k]
[--user USER_ID]
[--versionCode VERSION_CODE]
PACKAGE
[SPLIT...]
说明: 如果没有指定拆分包名称,则可能移除整个应用;否则只移除指定应用的拆分包。
-k
: 移除包后保留数据和缓存目录。--user
: 从指定用户中移除应用。--versionCode
: 只有当应用的版本代码与指定版本代码匹配时才卸载。PACKAGE
: 要移除的包名。[SPLIT...]
: 要移除的拆分包的名称。
clear
: 清除应用数据。
参数:
[--user USER_ID]
PACKAGE
--user
: 指定要清除数据的用户 ID。PACKAGE
: 要清除数据的包名。
enable
: 启用指定的包或组件。
参数:
[--user USER_ID]
PACKAGE_OR_COMPONENT
--user
: 指定要启用的用户 ID。PACKAGE_OR_COMPONENT
: 要启用的包或组件名称,格式为 "包名/类名"。
disable
: 禁用应用。
参数:
[--user USER_ID]
PACKAGE_OR_COMPONENT
--user
: 指定要禁用的用户 ID。PACKAGE_OR_COMPONENT
: 要禁用的包或组件名称,格式为 "包名/类名"。
disable-user
: 禁用指定用户下的指定的包或组件。
参数:
[--user USER_ID]
PACKAGE_OR_COMPONENT
--user
: 指定要禁用的用户 ID。PACKAGE_OR_COMPONENT
: 要禁用的包或组件名称,格式为 "包名/类名"。
disable-until-used
: 禁用应用,直到下次使用。
参数:
[--user USER_ID]
PACKAGE_OR_COMPONENT
--user
: 指定要禁用的用户 ID。PACKAGE_OR_COMPONENT
: 要禁用的包或组件名称,格式为 "包名/类名"。
default-state
: 设置指定的包或组件的默认状态。
参数:
[--user USER_ID]
PACKAGE_OR_COMPONENT
--user
: 指定要设置的用户 ID。PACKAGE_OR_COMPONENT
: 要设置的包或组件名称,格式为 "包名/类名"。
hide
: 隐藏指定的包或组件。
参数:
[--user USER_ID]
PACKAGE_OR_COMPONENT
--user
: 指定要隐藏的用户 ID。PACKAGE_OR_COMPONENT
: 要隐藏的包或组件名称,格式为 "包名/类名"。
unhide
: 显示指定的包或组件。
参数:
[--user USER_ID]
PACKAGE_OR_COMPONENT
--user
: 指定要显示的用户 ID。PACKAGE_OR_COMPONENT
: 要显示的包或组件名称,格式为 "包名/类名"。
suspend
: 挂起指定的包(作为用户)。
参数:
[--user USER_ID]
PACKAGE
[PACKAGE...]
--user
: 指定要挂起的用户 ID。PACKAGE
: 要挂起的包名。
unsuspend
: 恢复指定的包(作为用户)。
参数:
[--user USER_ID]
PACKAGE
[PACKAGE...]
--user
: 指定要恢复的用户 ID。PACKAGE
: 要恢复的包名。
set-distracting-restriction
: 设置指定的限制标志到指定的包(对于用户)。
参数:
[--user USER_ID]
[--flag FLAG ...]
PACKAGE
[PACKAGE...]
--user
: 指定要设置限制的用户 ID。--flag FLAG ...
: 限制标志,可以是以下值之一:hide-notifications
: 隐藏来自该包的通知。hide-from-suggestions
: 隐藏该包在建议中(例如,启动器等)。
PACKAGE
: 要设置限制的包名。
grant
: 授予应用权限。
参数:
[--user USER_ID]
PACKAGE
PERMISSION
--user
: 指定要授予权限的用户 ID。PACKAGE
: 要授予权限的包名。PERMISSION
: 要授予的权限名称。
revoke
: 撤销应用权限。
参数:
[--user USER_ID]
PACKAGE
PERMISSION
--user
: 指定要撤销权限的用户 ID。PACKAGE
: 要撤销权限的包名。PERMISSION
: 要撤销的权限名称。
reset-permissions
: 将所有运行时权限重置为默认状态。
set-permission-enforced
: 设置权限是否强制执行。
参数:
PERMISSION
[true|false]
PERMISSION
: 要设置的权限名称。[true|false]
: 是否强制执行权限,true
表示强制执行,false
表示不强制执行。
get-privapp-permissions
: 打印应用的权限。
参数:
TARGET-PACKAGE
TARGET-PACKAGE
: 要查询的包名。
get-privapp-deny-permissions
: 打印应用被拒绝的权限。
参数:
TARGET-PACKAGE
TARGET-PACKAGE
: 要查询的包名。
get-oem-permissions
: 打印应用的 OEM 权限。
参数:
TARGET-PACKAGE
TARGET-PACKAGE
: 要查询的包名。
trim-caches
: 修剪缓存文件,以达到指定的可用空间。
参数:
DESIRED_FREE_SPACE
[internal|UUID]
DESIRED_FREE_SPACE
: 目标可用空间(以字节为单位)。[internal|UUID]
: 目标存储位置,可以是internal
(内部存储)或 UUID(磁盘卷的 UUID)。
list users
: 列出当前用户。
create-user
: 创建一个新的用户,并打印新用户的 ID。
参数:
[--profileOf USER_ID]
[--managed]
[--restricted]
[--ephemeral]
[--guest]
[--pre-create-only]
[--user-type USER_TYPE]
USER_NAME
--profileOf USER_ID
: 指定新用户是哪个用户的配置文件。--managed
: 指定新用户是受管理的配置文件。--restricted
: 指定新用户是受限制的配置文件。--ephemeral
: 指定新用户是临时的。--guest
: 指定新用户是访客用户。--pre-create-only
: 只创建用户,不进行其他操作。--user-type USER_TYPE
: 指定用户的类型,例如android.os.usertype.profile.MANAGED
。USER_NAME
: 新用户的名称。
remove-user
: 删除指定的用户,并删除与该用户相关的所有数据。
参数:
[--set-ephemeral-if-in-use]
USER_ID
--set-ephemeral-if-in-use
: 如果用户当前正在运行,因此无法立即删除,则将用户标记为临时用户,以便在可能的情况下自动删除(在用户切换或重启后)。USER_ID
: 要删除的用户 ID。
set-user-restriction
: 设置用户限制。
参数:
[--user USER_ID]
RESTRICTION
VALUE
--user
: 指定要设置限制的用户 ID。RESTRICTION
: 限制名称。VALUE
: 限制值。
get-max-users
: 获取最大用户数。
get-max-running-users
: 获取最大运行用户数。
compile
: 触发指定包或所有包的编译。
参数:
[-m MODE | -r REASON]
[-f]
[-c]
[--split SPLIT_NAME]
[--reset]
[--check-prof (true | false)]
(-a | TARGET-PACKAGE)
-a
: 编译所有包。-c
: 在编译之前清除配置文件数据。-f
: 强制编译,即使不需要。-m
: 选择编译模式。MODE
: 编译模式,可以是以下值之一:assume-verified
: 假设已验证。extract
: 提取。verify
: 验证。quicken
: 加速。space-profile
: 空间配置文件。space
: 空间。speed-profile
: 速度配置文件。speed
: 速度。everything
: 所有。
-r
: 选择编译原因。REASON
: 编译原因,可以是以下值之一:first-boot
: 首次启动。boot-after-ota
: OTA 后启动。post-boot
: 启动后。install
: 安装。install-fast
: 快速安装。install-bulk
: 批量安装。install-bulk-secondary
: 批量安装(辅助)。install-bulk-downgraded
: 批量安装(降级)。install-bulk-secondary-downgraded
: 批量安装(辅助降级)。bg-dexopt
: 后台 dex 优化。ab-ota
: AB OTA。inactive
: 非活动。cmdline
: 命令行。shared
: 共享。
--reset
: 将包恢复到安装后的状态。--check-prof (true | false)
: 在执行 dex 优化时是否查看配置文件?--secondary-dex
: 编译应用的辅助 dex 文件。--split SPLIT
: 只编译指定的拆分包名称。--compile-layouts
: 编译布局资源,以加快布局加载速度。TARGET-PACKAGE
: 要编译的包名。
force-dex-opt
: 强制立即执行指定包的 dex 优化。
参数:
PACKAGE
PACKAGE
: 要优化的包名。