ADB(Android Debug Bridge),ADB是Android SDK里的一个工具,用这个工具可以直接操作管理Android模拟器或者真实的Android设备。Android的初衷是用ADB这样的一个工具来协助开发人员在开发Android应用的过程中更快更好的调试APK,因此ADB具有一下等功能:
该设备作为一个客户端-服务器端程序,由三部分组成:
1.运行在PC端的client:命令行程序adb用于从shell或脚本中运行adb命令。首先,adb程序尝试定位主机上的adb服务器,如果没找到,adb程序则自动启动一个adb服务器。接下来,当设备的常驻进程adb demon(adbd)和PC端的adb server建立连接后,adb client就可以向adb server发送服务请求
2.运行在PC端的adb server:adb server是运行在主机的一个后台进程。它的作用在于检测USB端口,感知设备的连接和拔除,以及模拟器实例的启动和停止,adb server还需要将adb client的请求通过usb或者tcp的方式发送到对应的adbd上
3.在设备端的常驻进程adbd:程序adbd作为一个后台程序在Android设备或模拟器系统中运行。它的作用是连接adb服务器,并且为运行在主机上的客户端提供一些服务
百度搜索“adb工具包下载”,即显示下载链接,下载即可,下载后解压。下载安装完成后还需修改环境变量确保能在其他路径下使用adb命令,修改好后在cmd界面输入adb,返回版本信息即各种指令信息则表示安装完成。
一般调试对象包括Android设备或是开发板,如果是前者,那么需要先安装好设备的驱动程序,并开启usb调试。如果是开发板一般会自带驱动,连接后即可使用。使用的话就是直接通过cmd输入命令完成操作。
查看已连接设备:adb devices
启动adb server:adb start-server
停止adb server:adb kill-server
启动service:adb shell am startservervice
启动activity:adb shell am start -n 包名/类名
查看adb版本:adb version
列出所有的选项说明及子命令:adb help
安装APK:adb install [-lrtsdg]
卸载应用:adb uninstall [-k]
清除应用数据和缓存:adb shell pm clear
强制停止应用:adb shell am force-stop
连接并进入设备:adb shell
发送广播:adb shell am broadcast -a 广播action
文件传输(复制):
传到板子:adb push <本地路径> <板子路径>
从板子传回:adb pull <板子路径> <本地路径>
关机:cmd:adb shell reboot -p serial:reboot -p
重启并进入烧录模式:cmd:adb shell reboot efex serial:reboot efex
消除密码:adb shell rm /data/system/password.key
消除屏幕图案:adb shell rm /data/system/gesture.key
截图:adb shell screencap <文件保存路径>
录像:adb shell screenrecord <文件保存路径>
注:Ctrl + C停止屏幕录制,或者到三分钟停止,且没有声音
串口电量:echo 1 > /sys/class/axppower/axpdebug
查询当前充电电流:cat /sys/class/power_supply/battery/current_now
滑动解锁:adb shell input swipe x1 y1 x2 y2
注:1为起始坐标,2为终点坐标
点击操作:adb shell input tap x y
注:x,y为要点击的坐标
禁止休眠:echo testlock > /sys/power/wake_lock
恢复可休眠:echo testlock > /sys/power/wake_unlock
切换HMDI输出模式:echo 720p50hz > /sys/class/disp/disp/attr/hdmi_test_mode
查看SD卡是否被识别(定位驱动):ls /dev/block
查看各分区容量:df
查询当前策略:cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
切换策略:echo fantasys > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
获取log:
adb shell logcat -v time >>c:\1.5rc2#55-bug-logcat.log
adb shell dmesg >> c:\1.2-#01--BUG描述-dmesg.log
adb shell mount >> c:\1.2-#46-mount.log