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