adb 的全称为 Android Debug Bridge,就是起到调试桥的作用。
借助 adb 工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行 shell 命令等等。其实简而言说,adb 就是连接 Android 手机与 PC 端的桥梁,可以让用户在电脑上对手机进行全面的操作。
通过 adb 我们也可以在 Eclipse 中方面通过 DDMS 来调试 Android 程序(即 debug 工具)。
adb 的工作方式比较特殊,采用监听 Socket TCP 5554 等端口的方式让 IDE 和 Qemu 通讯,默认情况下 adb 会 daemon 相关的网络端口,所以当我们运行 Eclipse 时 adb 进程就会自动运行。
adb devices
这个命令是查看当前连接的设备, 连接到计算机的 android 设备或者模拟器将会列出显示。
adb shell getprop ro.build.version.release
adb install
这个命令将指定的apk文件安装到设备上
adb uninstall <软件名>
adb uninstall -k <软件名>
-k 参数表示卸载软件但是保留配置和缓存文件.
adb shell # 进入 shell 中,执行各种 shell 命令
adb shell [command] # 执行一条 shell 命令
通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个 Linux Shell 中,你可以执行各种 Linux 的命令。另外
如果只想执行一条 shell 命令,可以采用以下的方式,如:adb shell dmesg 会打印出内核的调试信息。
可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
adb push <本地路径> <远程路径>
用 push 命令可以把本机电脑上的文件或者文件夹复制到设备(手机)。
adb pull <远程路径> <本地路径>
用 pull 命令可以把设备(手机)上的文件或者文件夹复制到本机电脑。
常用格式如下:
// 格式1:打印默认日志数据
adb logcat
// 格式2:需要打印日志详细时间的简单数据
adb logcat -v time
// 格式3:需要打印级别为Error的信息
adb logcat *:E
// 格式4:需要打印时间和级别是Error的信息
adb logcat -v time *:E
// 格式5:将日志保存到电脑固定的位置,比如D:\log.txt
adb logcat -v time > D:\log.txt
adb bugreport
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
adb get-product
adb get-serialno
adb kill-server
adb start-server
adb -s deviceid install
adb shell pm install
adb uninstall <包名>
1)获取当前启动 app 的包名:
adb shell dumpsys window w |findstr \/ |findstr name=
2)通过获取到的包名获取到启动 app 的 activity:
adb shell monkey -p 包名 -vvv 1
列出当前进程:
adb shell ps | findstr <包名>
杀死某个包的进程:
adb shell am force-stop <包名>
获取内存:
adb shell dumpsys meminfo <包名>
获取 CPU:
adb shell dumpsys cpuinfo | findstr <包名>
adb shell top -n 1 | findstr <包名>
获取流畅度相关:
adb shell dumpsys gfxinfo <包名>