关于adb调试,参考官方文档:https://developer.android.com/studio/command-line/adb?hl=zh-cn
1、
adb devices
查看已连接的设备
2、
adb tcpip 5555(端口号)
adb connect 手机IP地址
配置无线连接,设置端口号时要有线连接
3、
adb start-server
检查 adb 服务器进程是否在运行,如果未运行则启动它。
adb kill-server
终止 adb 服务器进程
4、
adb [-d|-e|-s serial_number] command
其中:adb -s serial_number command
-s 指定设备,如果多个模拟器/设备实例正在运行,在发出 adb 命令时您必须指定一个目标实例。
例:adb -s emulator-5556 install helloWorld.apk
5、
adb install path_to_apk
安装应用
6、
adb pull remote local
从模拟器或设备复制文件或目录(及其子目录)
adb push local remote
将文件文件或目录(及其子目录)复制到模拟器或设备
local 和 remote 指的是开发计算机(本地)和模拟器/设备实例(远程)上目标文件/目录的路径。例如:
adb push foo.txt /sdcard/foo.txt
7、
adb help
输出adb的命令列表
8、
adb version
输出adb的版本号
9、
adb locat
将log输出到屏幕上
10、
adb bugreport
将 dumpsys、dumpstate 和 logcat 数据输出到屏幕,以用于报告错误。
11、
adb shell
在目标模拟器/设备上启动远程shell,按control+d退出
adb shell shell-command
在目标模拟器/设备实例中发出 shell 命令,然后退出远程 shell。
12、
在 adb shell 中,您可以使用 Activity Manager (am) 工具发出命令以执行各种系统操作,如启动 Activity、强行停止进程、广播 intent、修改设备屏幕属性及其他操作。在 shell 中,此语法为:
am command 也可以直接从 adb 发出 Activity Manager 命令,无需进入远程 shell。例如:
adb shell am start -a android.intent.action.VIEW
12.1
start [options] intent
启动 intent 指定的 Activity。
12.2
startservice [options] intent
启动 intent 指定的 Service。
12.3
force-stop package
强行停止与 package(应用的包名称)关联的所有应用
12.4
kill [options] package
终止与 package(应用的包名称)关联的所有进程。此命令仅终止可安全终止且不会影响用户体验的进程。
12.5
broadcast [options] intent
发出广播 intent。
12.6
instrument [options] component
使用 Instrumentation 实例启动监控。通常,目标 component 是表单 test_package/runner_class。
12.7
profile start process file
启动 process 的分析器,将结果写入 file。
profile stop process
停止 process 的分析器。
12.8
monitor [options]
启动对崩溃或 ANR 的监控。
13、
在 adb shell 中,您可以使用软件包管理器 (pm) 工具发出命令,以对设备上安装的应用软件包进行操作和查询。在 shell 中,此语法为:
pm command
您也可以直接从 adb 发出软件包管理器命令,无需进入远程 shell。例如:
adb shell pm uninstall com.example.MyApp
13.1
list packages [options] filter
输出所有软件包,或者,仅输出包名称包含 filter 中的文本的软件包。
13.2
list permission-groups
输出所有已知的权限组
list permissions [options] group
输出所有已知权限,或者,仅输出 group 中的权限。
13.4
list features 输出系统的所有功能。
list libraries 输出当前设备支持的所有库。
list users 输出系统上的所有用户。
13.5
path package 输出给定 package 的 APK 的路径。
13.6
install [options] path 将软件包(通过 path 指定)安装到系统。
uninstall [options] package 从系统中移除软件包。
clear package 删除与软件包关联的所有数据。
enable package_or_component 启用给定软件包或组件(作为“package/class”写入)。
disable package_or_component 停用给定软件包或组件(作为“package/class”写入)。
13.7
grant package_name permission
向应用授予权限。在运行 Android 6.0(API 级别 23)及更高版本的设备上,可以是应用清单中声明的任何权限。在运行 Android 5.1(API 级别 22)和更低版本的设备上,必须是应用定义的可选权限。
13.8
get-install-location
返回当前安装位置。返回值:
0 [auto]:让系统决定最佳位置。
1 [internal]:安装在内部设备存储上
2 [external]:安装在外部介质上
14、
screencap 命令是一个用于对设备显示屏进行屏幕截图的 shell 实用程序。在 shell 中,此语法为:
screencap filename
要从命令行使用 screencap,请输入以下命令:
$ adb shell screencap /sdcard/screen.png
以下屏幕截图会话示例向您展示使用 adb shell 捕获屏幕截图,并使用 pull 命令从设备下载此文件:
$ adb shell
shell@ $ screencap /sdcard/screen.png
shell@ $ exit
$ adb pull /sdcard/screen.png
15、
pm dump , 后跟包名,列出指定应用的 dump 信息,里面有各种信息,自行查看
adb shell pm dump com.meituan.huangdanyang
dumpsys 将系统数据转储到屏幕。 Dalvik Debug Monitor Server (DDMS) 工具提供了一个集成调试环境,让您用起来更方便。
adb shell dumpsys 名字
查看一些情况.
|
名字
|
功能
|
|
account
|
显示accounts信息
|
|
activity
|
显示所有的activities的信息
|
|
cpuinfo
|
显示CPU信息
|
|
window
|
显示键盘,窗口和它们的关系
|
|
wifi
|
显示wifi信息
|
|
batteryinfo $package_name
|
电量信息及CPU 使用时长
|
|
package packagename
|
获取安装包信息
|
|
usagestats
|
每个界面启动的时间
|
|
statusbar
|
显示状态栏相关的信息
|
|
meminfo
|
内存信息(meminfo package_name orpid
使用程序的包名或者进程id显示内存信息)
|
|
diskstats
|
磁盘相关信息
|
|
battery
|
电池信息
|
|
alarm
|
显示Alarm信息
|
举例: adb shell dumpsys meminfo
查看内存使用情况