入坑必备技能,让我们直接进入正题。
什么是ADB?
• ADB全称为Android Debug Bridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是 用来操作的电脑,服务端是Android设备。
• ADB也是Android SDK中的一个工具,可以直接操作管理Android模拟器或者真实的Android设备。
为什么要用ADB?
ADB可以直接操作管理手机模拟器或者真实的手机设备(如三星、小米手机)。
它的主要功能有:
1. 运行设备的shell(命令行)
2. 管理模拟器或设备的端口映射
3. 计算机和设备之间上传/下载文件
4. 可以对设备的应用进行卸载安装等
简单点就是:
adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作
ADB常用指令
有常用就有基本指令,有点多,慢慢看:
基本指令
1. 查看版本信息:
输入adb version 用来显示adb版本信息
2. 查看帮助信息:
adb help 查看adb所支持的所有命令
3. 启动/关闭服务
adb start-server,启动adb
adb kill-server,关闭adb
4. 查看设备:
adb devices 用来查看当前连接的设备,已连接的设备会显示
5. 如果有显示多个连接设备,只要操作其中一个,则adb -s 设备名 命令的方 式来执行 adb -s 192.168.1.101:6666 shell
6. 如果连接提示:device not found或device offline,表示连接失败。
解决方法:
1)确定设备是否开启usb调试
2)确定设备的驱动是否安装好,驱动的安装可以采用360手机助手(其他 助手)连接测试机,会自动安装驱动并连接测试。
3)确定设备是否有授权
7. 获取权限
-root adb root 说明:获取Android管理员权限
8. 登录设备
-shell adb shell 说明:这个命令将登录设备的shell(内核),登录shell后可以使用cd、ls 、rm等linux命令
9. 获取System分区可写 adb remount 说明:让system分区变成可写,需要root后才能 有这个权限
10. 查看应用包名
方式一:
ls /data/data
方式二:
• adb shell pm list packages 显示所有包名
• adb shell pm list packages –s 显示系统应用包名
• adb shell pm list packages -3 显示第三方应用包名
11. 安装软件-install
adb install 说明:指定的apk安装到设备
adb install -r 替换原来已存的APK
12.卸载软件-uninstall
adb uninstall 说明:卸载apk
adb uninstall -k 说明:卸载apk但是保留配置和缓存文件
13.上传文件-push
adb push <本地路径> <远程路径> 说明:把本地的文件或文件夹复制到设备(手机)
14.下载文件-pull
adb pull <远程路径> <本地路径> 说明:把设备(手机)的文件或文件夹复制到本地
15.日志-logcat
adb logcat 抓取日志,ctrl+c结束 ü logcat可以查看手机4个缓冲区日志,包括radio,system,main,event,其中radio存放通信的日志,比如通话 短信等;event表示手机按键输出等事件日志等;
main指的是手机的应用软件的日志,是应用层日志输出; system是系统组日志。如果不指定,则默认输出main和system的日志,如果需要指定,则需要使用参数。
logcat是实时日志,在你操作软件的同时,同步会输出日志信息。
adb logcat -b 指定缓冲区 如:adb logcat -b main 输出main的日志
adb logcat -v time 如:adb logcat -v time 输出的日志同步打印时间
adb logcat -v time -b 执行缓冲区 如:adb logcat -v time -b system ü adb logcat –v time -b 执行缓冲区>d:\ logcat.log 输出的日志保存在本地的文件上
adb logcat -c 清理日志
adb logcat *:E 日志筛选,只输出error日志
16.日志-bugreport --只支持Android7.0以上的版本
adb bugreport 输出日志(包括logcat日志),同时也包括功耗、CPU等日志信息
输入指令后开始抓取Log,不需要按Ctrl+C来停止,会自动化停止Log打印,一般出现bug(如程序 停止运行)后可用此方法抓取,主要抓取出现问题时往前10分钟左右的信息,所以必须在出现问 题立即采用此方法才有效,问题出现时间太长不建议使用此方法。
adb bugreport >d:\ bugreport.log 输出日志,保存在本地文件
17.查看设备信息
获取设备型号 adb shell getprop ro.product.model
获取设备android系统版本 adb shell getprop ro.build.version.release
获取设备的序列号 adb get-serialno
获取设备屏幕分辨率 adb shell wm
18.截图
adb shell screencap -p /sdcard/mms.png 屏幕截图
adb pull /sdcard/mms.png D:\app 将截图导
19.模拟按键/输入-input
adb shell input help 说明:input命令帮助
adb shell input keyevent 命令,不同的keycode能实现不同的功能
Android adb keyevent 键值大全
adb shell input swipe 300 1000 300 500 说明:滑动,从300,1000滑动到300,500坐标
adb shell input text hello 说明:当焦点在某文本框是,通过input来输入文本
20.查看系统信息-dumpsys
adb shell dumpsys meminfo com.android.contacts 说明:查看联系人的内存使用情况(后面接包名)