入坑必备技能,让我们直接进入正题。

什么是ADB?

        • ADB全称为Android Debug Bridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是 用来操作的电脑,服务端是Android设备。

        • ADB也是Android SDK中的一个工具,可以直接操作管理Android模拟器或者真实的Android设备。

为什么要用ADB?

        ADB可以直接操作管理手机模拟器或者真实的手机设备(如三星、小米手机)。

        它的主要功能有:

                1. 运行设备的shell(命令行)

                2. 管理模拟器或设备的端口映射

                3. 计算机和设备之间上传/下载文件

                4. 可以对设备的应用进行卸载安装等

简单点就是:

        adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作

ADB常用指令

appium入坑必备--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

appium入坑必备--ADB命令_app_02

adb shell dumpsys meminfo com.android.contacts 说明:查看联系人的内存使用情况(后面接包名)