[android] adb命令的一些参数详解

list packages [-f] [-d] [-e] [-s] [-3] [-i] [-l] [-u] [-U] [--show-versioncode] [--apex-only] [--uid UID] [--user USER_ID] [FILTER]
打印所有包; 可选地仅那些其名称包含 FILTER 中的文本的包。 选项是:
    -f:查看它们的关联文件
    -a:所有已知的包(但不包括 APEXes)
    -d:过滤以仅显示禁用的包
    -e:过滤以仅显示启用的包
    -s: 过滤只显示系统包
    -3:过滤以仅显示第三方包
    -i:查看软件包的安装程序
    -l:忽略(用于与旧版本兼容)
    -U:同时显示包的 UID
    -u:还包括未安装的包
    --show-versioncode: 同时显示版本代码
    --apex-only: 只显示 APEX 包
    --uid UID:过滤以仅显示具有给定 UID 的包
    --user USER_ID:只列出属于给定用户的包
install [-lrtsfdgw] [-i PACKAGE] [--user USER_ID|all|current]
       [-p INHERIT_PACKAGE] [--install-location 0/1/2]
       [--install-reason 0/1/2/3/4] [--originating-uri URI]
       [--referrer URI] [--abi ABI_NAME] [--force-sdk]
       [--preload] [--instantapp] [--full] [--dont-kill]
       [--enable-rollback]
       [--force-uuid internal|UUID] [--pkg PACKAGE] [-S BYTES] [--apex]
       [PATH|-]
    安装应用程序。 必须提供要安装的 apk 数据,可以是文件路径,也可以是“-”以从标准输入读取。 选项是:
    -l:前向锁应用
    -R:不允许替换现有应用程序
    -t:允许测试包
    -i:指定拥有应用程序的安装程序的包名称
    -s:在sdcard上安装应用程序
    -f:在内部闪存上安装应用程序
    -d:允许版本代码降级(仅限可调试包)
    -p:部分应用程序安装(在现有 pkg 之上的新拆分)
    -g:授予所有运行时权限
    -S:包的大小(以字节为单位),标准输入需要
    --user:安装在给定用户下。
    --dont-kill: 安装一个新的 feature split,不要杀死正在运行的app
    --restrict-permissions:不要在安装时将限制权限列入白名单
    --originating-uri: 设置下载应用程序的 URI
    --referrer:设置启动应用程序安装的 URI
    --pkg:指定正在安装的应用程序的预期包名称
    --abi: 覆盖平台的默认 ABI
    --instantapp:使应用程序作为临时安装应用程序安装
    --full:使应用程序安装为非临时完整应用程序
    --install-location:强制安装位置:
       0=自动,1=仅限内部,2=首选外部
    --install-reason:指示安装应用程序的原因:
       0=未知,1=管理政策,2=设备恢复,
       3=设备设置,4=用户请求
    --force-uuid:强制安装到具有给定 UUID 的磁盘卷
    --apex:安装 .apex 文件,而不是 .apk

install-create [-lrtsfdg] [-i PACKAGE] [--user USER_ID|all|current]
       [-p INHERIT_PACKAGE] [--install-location 0/1/2]
       [--install-reason 0/1/2/3/4] [--originating-uri URI]
       [--referrer URI] [--abi ABI_NAME] [--force-sdk]
       [--preload] [--instantapp] [--full] [--dont-kill]
       [--force-uuid internal|UUID] [--pkg PACKAGE] [--apex] [-S BYTES]
       [--multi-package] [--staged]
    类似于“安装”,但启动安装会话。 使用“install-write”将数据推送到会话中,然后“install-commit”完成。

install-write [-S BYTES] SESSION_ID SPLIT_NAME [PATH|-]
    将 apk 写入给定的安装会话。 如果路径为“-”,则将从标准输入读取数据。 选项是:
       -S:包的大小(以字节为单位),标准输入需要

install-add-session MULTI_PACKAGE_SESSION_ID CHILD_SESSION_IDs
    向多包会话添加一个或多个会话 ID。

install-commit SESSION_ID
    提交给定的活动安装会话,安装应用程序。

install-abandon SESSION_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]

move-primary-storage [internal|UUID]

pm uninstall [-k] [--user USER_ID] [--versionCode VERSION_CODE] PACKAGE [SPLIT]
    从系统中删除给定的包名称。 如果未指定 SPLIT 名称,则可能会删除整个应用程序,否则将仅删除给定应用程序的拆分。 选项是:
       -k:删除包后保留数据和缓存目录。
       --user:从给定用户中删除应用程序。
       --versionCode:仅当应用程序具有给定的版本代码时才卸载。

clear [--user USER_ID] PACKAGE
    删除与包关联的所有数据。

enable [--user USER_ID] PACKAGE_OR_COMPONENT

disable [--user USER_ID] PACKAGE_OR_COMPONENT

disable-user [--user USER_ID] PACKAGE_OR_COMPONENT

disable-until-used [--user USER_ID] PACKAGE_OR_COMPONENT

default-state [--user USER_ID] PACKAGE_OR_COMPONENT

    这些命令更改给定包或组件(写为"package/class")的启用状态。

hide [--user USER_ID] PACKAGE_OR_COMPONENT

unhide [--user USER_ID] PACKAGE_OR_COMPONENT

suspend [--user USER_ID] TARGET-PACKAGE
    暂停指定的包(作为用户)。

unsuspend [--user USER_ID] TARGET-PACKAGE
    取消挂起指定的包(作为用户)。

grant [--user USER_ID] PACKAGE PERMISSION
revoke [--user USER_ID] PACKAGE PERMISSION
    这些命令可以授予或撤销对应用程序的权限。 权限必须在应用程序的清单中声明为已使用,是运行时权限(保护级别危险),并且应用程序的目标 SDK 
    大于 Lollipop MR1。

reset-permissions
    将所有运行时权限恢复为默认状态。

set-permission-enforced PERMISSION [true|false]

get-privapp-permissions TARGET-PACKAGE
    打印包的所有特权权限。

get-privapp-deny-permissions TARGET-PACKAGE
    打印包被拒绝的所有特权权限。

get-oem-permissions TARGET-PACKAGE
    打印包的所有 OEM 权限。

set-app-link [--user USER_ID] PACKAGE {always|ask|never|undefined}
get-app-link [--user USER_ID] PACKAGE

trim-caches DESIRED_FREE_SPACE [internal|UUID]
    修剪缓存文件以达到给定的可用空间。

list users
    列出当前用户。

create-user [--profileOf USER_ID] [--managed] [--restricted] [--ephemeral] [--guest] [--pre-create-only] USER_NAME
    使用给定的 USER_NAME 创建一个新用户,打印该用户的新用户标识符。

remove-user USER_ID
    删除具有给定 USER_IDENTIFIER 的用户,删除与该用户关联的所有数据

set-user-restriction [--user 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”,则触发 TARGET-PACKAGE 或所有包的编译。 选项是:
    -a:编译所有包
    -c:编译前清空profile数据
    -f:即使不需要也强制编译
    -m:选择编译模式。MODE 是 dex2oat 编译器过滤器之一:
        assume-verified
        extract
        verify
        quicken
        space-profile
        space
        speed-profile
        speed
        everything
   -r:选择编译原因,原因是以下之一:
        first-boot
        boot
        install
        bg-dexopt
        ab-ota
        inactive
        shared
    --reset:将包恢复到安装后的状态
    --check-prof (true | false): 做 dexopt 时查看配置文件?
    --secondary-dex: 编译app二级dex文件
    --split SPLIT:只编译给定的拆分名称
    --compile-layouts:编译布局资源以加快通inflation

force-dex-opt PACKAGE
    强制立即执行给定包的 dex opt。

bg-dexopt-job
    立即执行后台优化。 请注意,该命令仅运行后台优化器逻辑。 它可能与实际作业重叠,但作业调度程序将无法取消它。 即使设备不处于空闲维护模式,它也会运行。

reconcile-secondary-dex-files TARGET-PACKAGE
    将包的辅助 dex 文件与生成的 oat 文件进行协调。

dump-profiles TARGET-PACKAGE
     将方法/类配置文件转储到 /data/misc/profman/TARGET-PACKAGE.txt

snapshot-profile TARGET-PACKAGE [--code-path path]
    快照软件包配置文件到 /data/misc/profman/TARGET-PACKAGE[-code-path].prof。如果 TARGET-PACKAGE=android 它将拍摄启动映像的快照

set-home-activity [--user USER_ID] TARGET-COMPONENT
    设置默认home activity(又名launcher)。TARGET-COMPONENT 可以是包名称 (com.package.my) 或完整组件 (com.package.my/component.name)。 然而,只有包名
    很重要:实际使用的组件将自动从包中确定。

set-installer PACKAGE INSTALLER
    设置installer包名称

get-instantapp-resolver
    返回作为当前即时应用程序安装程序的组件的名称。

set-harmful-app-warning [--user <USER_ID>] <PACKAGE> [<WARNING>]
    使用给定的警告消息将应用程序标记为有害。

get-harmful-app-warning [--user <USER_ID>] <PACKAGE>
    返回给定应用程序的有害应用程序警告消息(如果存在)

uninstall-system-updates
    删除对所有系统应用程序的更新并回退到它们的 /system 版本。

get-moduleinfo [--all | --installed] [module-name]
    显示模块信息。 如果指定了模块名称,则仅显示该信息。默认情况下,不带任何参数仅显示已安装的模块。
    --all: 显示所有模块信息
    --installed: 只显示已安装的模块

<INTENT> specifications include these flags and arguments:
    [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] [-i <IDENTIFIER>]
    [-c <CATEGORY> [-c <CATEGORY>] ...]
    [-n <COMPONENT_NAME>]
    [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
    [--esn <EXTRA_KEY> ...]
    [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
    [--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
    [--el <EXTRA_KEY> <EXTRA_LONG_VALUE> ...]
    [--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE> ...]
    [--eu <EXTRA_KEY> <EXTRA_URI_VALUE> ...]
    [--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE>]
    [--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]
        (mutiple extras passed as Integer[])
    [--eial <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]
        (mutiple extras passed as List<Integer>)
    [--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]
        (mutiple extras passed as Long[])
    [--elal <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]
        (mutiple extras passed as List<Long>)
    [--efa <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]
        (mutiple extras passed as Float[])
    [--efal <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]
        (mutiple extras passed as List<Float>)
    [--esa <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]]
        (mutiple extras passed as String[]; to embed a comma into a string,
         escape it using "\,")
    [--esal <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]]
        (mutiple extras passed as List<String>; to embed a comma into a string,
         escape it using "\,")
    [-f <FLAG>]
    [--grant-read-uri-permission] [--grant-write-uri-permission]
    [--grant-persistable-uri-permission] [--grant-prefix-uri-permission]
    [--debug-log-resolution] [--exclude-stopped-packages]
    [--include-stopped-packages]
    [--activity-brought-to-front] [--activity-clear-top]
    [--activity-clear-when-task-reset] [--activity-exclude-from-recents]
    [--activity-launched-from-history] [--activity-multiple-task]
    [--activity-no-animation] [--activity-no-history]
    [--activity-no-user-action] [--activity-previous-is-top]
    [--activity-reorder-to-front] [--activity-reset-task-if-needed]
    [--activity-single-top] [--activity-clear-task]
    [--activity-task-on-home] [--activity-match-external]
    [--receiver-registered-only] [--receiver-replace-pending]
    [--receiver-foreground] [--receiver-no-abort]
    [--receiver-include-background]
    [--selector]
    [<URI> | <PACKAGE> | <COMPONENT>]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值