常用Adb命令

1、
adb -s emulator-5556 install helloWorld.apk
指定设备发送命令

2、
adb devices
列出所有设备

3、run-as package name
赋予查看权限

4、adb kill-server / start-server
Adb服务关闭和启动

5、adb install apkPath
向设备安装apk

6、
adb push local remote
adb pull remote local
adb push foo.txt /sdcard/foo.txt
将文件复制到设备/从设备复制文件

7、get-serialno
获取设备序列号

8、启动四大组件
adb shell am start -a android.intent.action.VIEW
start [options] intent 启动 intent 指定的 Activity。
请参阅 intent 参数的规范。

选项包括:

  • -D:启用调试。
  • -W:等待启动完成。
  • –start-profiler file:启动分析器并将结果发送到 file。
  • -P file:类似于 --start-profiler,但当应用进入空闲状态时分析停止。
  • -R count:重复 Activity 启动 count 次数。在每次重复前,将完成顶部 Activity。
  • -S:启动 Activity 前强行停止目标应用。
  • –opengl-trace:启用 OpenGL 函数的跟踪。
  • –user user_id | current:指定要作为哪个用户运行;如果未指定,则作为当前用户运行。
    startservice [options] intent 启动 intent 指定的 Service。
    请参阅 intent 参数的规范。

选项包括:

  • –user user_id | current:指定要作为哪个用户运行;如果未指定,则作为当前用户运行。
    force-stop package 强行停止与 package(应用的包名称)关联的所有应用。
    kill [options] package 终止与 package(应用的包名称)关联的所有进程。此命令仅终止可安全终止且不会影响用户体验的进程。
    选项包括:

  • –user user_id | all | current:指定将终止其进程的用户;如果未指定,则终止所有用户的进程。
    kill-all 终止所有后台进程。
    broadcast [options] intent 发出广播 intent。
    请参阅 intent 参数的规范。

选项包括:

  • [–user user_id | all | current]:指定要发送到的用户;如果未指定,则发送到所有用户。
    instrument [options] component 使用 Instrumentation 实例启动监控。通常,目标 component 是表单 test_package/runner_class。
    选项包括:

  • -r:输出原始结果(否则对 report_key_streamresult 进行解码)。与 [-e perf true] 结合使用以生成性能测量的原始输出。

  • -e name value:将参数 name 设为 value。对于测试运行器,通用表单为 -e testrunner_flagvalue[,value…]。

  • -p file:将分析数据写入 file。

  • -w:先等待仪器完成,然后再返回。测试运行器需要使用此选项。

  • –no-window-animation:运行时关闭窗口动画。

  • –user user_id | current:指定仪器在哪个用户中运行;如果未指定,则在当前用户中运行。
    profile start process file 启动 process 的分析器,将结果写入 file。
    profile stop process 停止 process 的分析器。
    dumpheap [options] process file 转储 process 的堆,写入 file。
    选项包括:

  • –user [user_id|current]:提供进程名称时,指定要转储的进程用户;如果未指定,则使用当前用户。

  • -n:转储原生堆,而非托管堆。
    set-debug-app [options] package 将应用 package 设为调试。
    选项包括:

  • -w:应用启动时等待调试程序。

  • –persistent:保留此值。
    clear-debug-app 使用 set-debug-app 清除以前针对调试用途设置的软件包。
    monitor [options] 启动对崩溃或 ANR 的监控。
    选项包括:

  • –gdb:在崩溃/ANR 时在给定端口上启动 gdbserv。
    screen-compat {on|off} package 控制 package 的屏幕兼容性模式。
    display-size [reset|widthxheight] 替换模拟器/设备显示尺寸。此命令对于在不同尺寸的屏幕上测试您的应用非常有用,它支持使用大屏设备模仿小屏幕分辨率(反之亦然)。
    示例:
    am display-size 1280x800

display-density dpi 替换模拟器/设备显示密度。此命令对于在不同密度的屏幕上测试您的应用非常有用,它支持使用低密度屏幕在高密度环境环境上进行测试(反之亦然)。
示例:
am display-density 480

to-uri intent 将给定的 intent 规范以 URI 的形式输出。
请参阅 intent 参数的规范。

to-intent-uri intent 将给定的 intent 规范以 intent:URI 的形式输出。
请参阅 intent 参数的规范。

9、调用软件包管理器
adb shell pm uninstall com.example.MyApp
list packages [options] filter 输出所有软件包,或者,仅输出包名称包含 filter 中的文本的软件包。
选项:

  • -f:查看它们的关联文件。

  • -d:进行过滤以仅显示已停用的软件包。

  • -e:进行过滤以仅显示已启用的软件包。

  • -s:进行过滤以仅显示系统软件包。

  • -3:进行过滤以仅显示第三方软件包。

  • -i:查看软件包的安装程序。

  • -u:也包括卸载的软件包。

  • –user user_id:要查询的用户空间。
    list permission-groups 输出所有已知的权限组。
    list permissions [options] group 输出所有已知权限,或者,仅输出 group 中的权限。
    选项:

  • -g:按组加以组织。

  • -f:输出所有信息。

  • -s:简短摘要。

  • -d:仅列出危险权限。

  • -u:仅列出用户将看到的权限。
    list instrumentation [options] 列出所有测试软件包。
    选项:

  • -f:列出用于测试软件包的 APK 文件。

  • target_package:列出仅用于此应用的测试软件包。
    list features 输出系统的所有功能。
    list libraries 输出当前设备支持的所有库。
    list users 输出系统上的所有用户。
    path package 输出给定 package 的 APK 的路径。
    install [options] path 将软件包(通过 path 指定)安装到系统。
    选项:

  • -l:安装具有转发锁定功能的软件包。

  • -r:重新安装现有应用,保留其数据。

  • -t:允许安装测试 APK。

  • -i installer_package_name:指定安装程序软件包名称。

  • -s:在共享的大容量存储(如 sdcard)上安装软件包。

  • -f:在内部系统内存上安装软件包。

  • -d:允许版本代码降级。

  • -g:授予应用清单中列出的所有权限。
    uninstall [options] package 从系统中移除软件包。
    选项:

  • -k:移除软件包后保留数据和缓存目录。
    clear package 删除与软件包关联的所有数据。
    enable package_or_component 启用给定软件包或组件(作为“package/class”写入)。
    disable package_or_component 停用给定软件包或组件(作为“package/class”写入)。
    disable-user [options] package_or_component
    选项:

  • –user user_id:要停用的用户。
    grant package_name permission 向应用授予权限。在运行 Android 6.0(API 级别 23)及更高版本的设备上,可以是应用清单中声明的任何权限。在运行 Android 5.1(API 级别 22)和更低版本的设备上,必须是应用定义的可选权限。
    revoke package_name permission 从应用中撤销权限。在运行 Android 6.0(API 级别 23)及更高版本的设备上,可以是应用清单中声明的任何权限。在运行 Android 5.1(API 级别 22)和更低版本的设备上,必须是应用定义的可选权限。
    set-install-location location 更改默认安装位置。位置值:

  • 0:自动—让系统决定最佳位置。

  • 1:内部—安装在内部设备存储上。

  • 2:外部—安装在外部介质上。
    注:此命令仅用于调试目的;使用此命令会导致应用中断和其他意外行为。

get-install-location 返回当前安装位置。返回值:

  • 0 [auto]:让系统决定最佳位置。
  • 1 [internal]:安装在内部设备存储上
  • 2 [external]:安装在外部介质上
    set-permission-enforced permission[true|false] 指定是否应强制执行给定的权限。
    trim-caches desired_free_space 减少缓存文件以达到给定的可用空间。
    create-user user_name 使用给定的 user_name 创建新用户,输出新用户的标识符。
    remove-user user_id 移除具有给定的 user_id 的用户,删除与该用户关联的所有数据。
    get-max-users 输出设备支持的最大用户数。

10、
adb shell screencap /sdcard/screen.png
屏幕截图
示例:
$ adb shell
shell@ $ screencap /sdcard/screen.png
shell@ $ exit
$ adb pull /sdcard/screen.png

11、
adb shell ls /system/bin
列出所有可用shell程序列表

12、其他shell命令
dumpsys 将系统数据转储到屏幕。 Dalvik Debug Monitor Server (DDMS) 工具提供了一个集成调试环境,让您用起来更方便。
dumpstate 将状态转储到文件。
logcat [option]… [filter-spec]… 启用系统和应用日志记录,并将输出传输到屏幕。
dmesg 将内核调试消息输出到屏幕。
start 启动(重启)模拟器/设备实例。
stop 停止执行模拟器/设备实例。

13、关闭指定应用程序
force-stop [包名]
adb shell am force-stop com.test.test

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值