文章目录常用的ADB命令ADB日志命令ADB刷机命令ADB命令 模拟点击、滑动、输入、按键启动app关闭AppMonkey测试卸载相关问题(Appium)日志缓冲区问题连接外网刷机问题黑屏解决RAW和JPG的区别其他常用的ADB命令1).获取platformVersion(移动操作平台)版本adb shell getprop ro.build.version.release2) 获取api版本adb shell getprop ro.build.version.sdk3)获取当前打开的app包名adb shell dumpsys window | findstr mCurrentFocus4)获取当前打开的app包名:adb shell “dumpsys window | grep mCurrentFocus”5) 查看内存adb shell dumpsys meminfo com.motorola.camera36)获取设备序列号(udid):adb get-serialno7)获取计算机连接的设备列表和设备状态:adb devices8)查看版本信息:adb version9)重启设备:adb reboot10)关闭adb服务:adb kill-server11)启动adb服务:adb start-server12)连接设备:adb connect IP13)断开设备:adb disconnect IP14查看屏幕分辨率adb shell wm size15)卸载apk:adb uninstall 包名例如adb uninstall com.motorola.cn.gallery16)安装apk:adb install 包名路径这里也可以直接找到本地文件拖进去adb install D:\Download\Gallery\apk\Gallery2-v6.0.13-release.apkadb install -r替换已存在的应用程序也就是说强制安装adb install -l 锁定该应用程序adb install -t允许测试包adb install -s 把应用程序安装到sd卡上adb install -d允许进行将见状也就是安装的比手机上带的版本低adb install -g 为应用程序授予所有运行时的权限adb install -r -d -t D:\Download\Gallery\apk\Gallery2-v6.0.4.81.0-signed.apk17)获取root权限(为了让adb 具备更高的权限):adb root18)进入Android设备的shell环境:adb shell19)进入手机里面的文件夹:cd sdcard20)连接多台手机:adb -s (udid)21) 清除应用数据与缓存adb shell pm clear22) 查看正在运行的 Services命令adb shell dumpsys activity services []23) 查看应用详细信息命令adb shell dumpsys package24) 发送广播命令格式adb shell am broadcast [options]25)导出文件到本地:adb pull 要导出的文件路径 导出文件所要存储的路径例如adb -s NV0A2A0235 pull /data/vendor/aplogd D:/Work/log/aplogd_NV0A2A0235.txt生成ANR文件adb -s NQER0D0122 pull /data/anr D:/Work/log/提示权限不够的话adb root退出exit26从本地导入文件adb push 本地文件路径 要导入到设备里的文件路径adb push D:\Camera /sdcard/DCIM/adb push D:\GalleryGroup /sdcard/Pictures/adb push D:\Screenrecord /sdcard/Movies/adb push D:\Music /sdcard/adb push D:\Screenshots /sdcard/Pictures/27adb shell pm clear 包名清除应用缓存28屏幕截图adb shell screencap -p /sdcard/sc.png29屏幕录制adb shell screenrecord /sdcard/filename.mp430屏幕录制默认时长是180秒设置录制时长 adb shell screenrecord /sdcard/demo.mp4 --time-limit 6031停止录制视频adb shell am broadcast -a com.android.server.scrcmd.stoprecord32)列出所有包名adb shell pm list packages-f列出所有apk路径及包名-s列出系统apk路径及包名-3列出用户apk路径及包名33**导出内存 **adb shellps -e | grep galleryam dumpheap pid (查出的数字)34隐藏状态栏时间adb shell settings put secure icon_blacklist clock35恢复状态栏时间adb shell settings put secure icon_blacklist none36消除apk安装步骤adb rootadb remount然后等一会界面会提示你重启adb reboot重启完毕后再输入adb rootadb remountadb shell进入到product目录cd product进入到app目录cd app删除MotGalleryAI的目录rm -rf MotGalleryAI重启手机adb rebootadb rootadb shellsetenforce 0安装消除最新apkADB日志命令1查看日志adb logcat2清除之前的日志信息adb logcat -c3显示所有优先级大于等于Error的日志adb logcat -v time *:E4)adb logcat -b events -b radio -b main -b system -b crash -v threadtime log.txt【详解】01.首先讲一下“-b” events就是抓取手机的操作事件做了哪些操作 radio主要是和modem相关的关于通话短信网络的bug需要带上radiomain和system都是android的系统logcrash是手机发生crash时产生的日志。02.-v time会打印出日志的时间如果不加就不会显示时间5)导出文件到本地:adb pull 要导出的文件路径 导出文件所要存储的路径例如adb -s NV0A2A0235 pull /data/vendor/aplogd D:/Work/log/aplogd_NV0A2A0235.txt生成ANR文件adb -s NQER0D0122 pull /data/anr D:/Work/log/提示权限不够的话adb root退出exit6从本地导入文件adb push 本地文件路径 要导入到设备里的文件路径adb push C:\Users\zihangwang1\Pictures\图库 /sdcard/Picturesadb push C:\Users\zihangwang1\Pictures\图库 /sdcard/DCIM/7日志的优先级一般有如下几档由低到高VERBOSE一般信息输出为颜色为黑色且日志级别大于等于VERBOSE的信息DEBUG调试信息蓝色INFO标识信息绿色WARN警告信息橙色且ERROR错误信息红色F —— Fatal 致命S —— Silent最高啥也不输出ADB刷机命令a) 输入「adb devices」检查是否连接手机或平板成功如果成功连接会提示一串数字b 输入「adb reboot bootloader」指令把手机或平板电脑重启到Bootloader介面c) 输入「fastboot devices」指令如果成功连接会提示一串数字表示电脑成功连接到裝置的Fastboot模式了e)fastboot -w清除手机中所有数据f)fastboot erase miscj)运行flashall.bath)fastboot reboot退出刷机模式并重启手机ADB命令 模拟点击、滑动、输入、按键//模拟输入“001”adb shell input text “001”//模拟home按键adb shell input keyevent 3//模拟点击(540, 1104)坐标adb shell input tap 540 1104//模拟滑动从(250,250)滑动到(300,300)adb shell input swipe 250 250 300 300启动app命令行输入 adb shell am start 包名/.Activity (要启动的Activity)adb shell am startcom.motorola.cn.gallery/com.motorola.cn.gallery.app.GalleryActivity启动相机1、启动一个 Activityadb shell am start -n activityname 启动一个 Activity2、等待页面启动完成adb shell am start -W activityname 等待页面启动完成3、先停止应用再启动adb shell am start -S activityname 先停止应用再启动adb shell am start -S -W -n com.motorola.cn.gallery/com.motorola.cn.gallery.app.GalleryActivity关闭Appcmd命令行中执行 adb shell am force-stop app包名例如adb shell am force-stop com.motorola.camera3关闭系统设置cmd命令行中执行 adb shell pm clear app包名例如adb shell pm clear app com.motorola.camera3关闭系统设置Monkey测试adb shell monkey -v --throttle 200 -s 654321 --ignore-security-exceptions -p com.motorola.camera3 400000 D:\ProgramData\Monkeylog\1.txt1、-v参数:用于指定反馈信息级别(信息级别就是日志的详细程度)总共分为3级默认为-v(对应level0)-v只提供启动提示、测试完成提示和最终结果等少量信息。-v -v较为详细的日志包括每个发送到activity的时间信息。-v -v -v最详细的日志包括测试中选中/未选中的activity信息。2、–throttle参数:设置执行操作的延迟时间(毫秒)–是指两个事件之间的间隔如果没有指定此参数会尽可能快的生成和发送事件。3、-s表示伪随机数生成的seed值如果seed值相同则两次monkey所产生的事件序列也是一样的示例Monkey测试1adb shell monkey -p com.swartz.cicada –s 10 100Monkey 测试2adb shell monkey -p com.swartz.cicada –s 10 100两次测试的效果是相同的因为模拟的用户操作序列每次操作按照一定的先后顺序所组成的一系列操作即一个序列是一样的。操作序列虽然是随机生成的但是只要我们指定了相同的Seed值就可以保证两次测试产生的随机操作序列是完全相同的所以这个操作序列伪随机的4、-p参数在我们测试时是针对具体的app进行测试的所以在使用monkey测试时我们需要提供具体的app包名给monkey此时就需要用到参数-p。在-p后跟随app包名。在测试时可以不指定包名此时monkey会在测试设备上随机启动app进行操作如果只需要测试一个app使用一个-p即可如果有多个app同时测试可以直接使用-p 包名1 -p 包名2指定具体要测试的app。(二)调试选项1、–ignore-crashes用于指定当应用程序崩溃时Monkey是否停止运行。如果使用此参数即使应用程序崩溃monkey依然会发送事件直到事件计数完成。2、—ignore-timeouts用于指定当应用程序发生ANR(Application No Responding)错误时Monkey是否停止运行。如果使用此参数即使应用程序发生ANR错误Monkey依然会发送事件直到事件计数完成。3、–ignore-security-exceptionss用于指定当应用程序发生许可错误时(如证书许可网络许可等)Monkey是否停止运行。如果使用此参数即使应用程序发生许可错误Monkey依然会发送事件直到事件计数完成。4、–kill-process-after-error用于指定当应用程序发生错误时是否停止其运行。如果指定此参数当应用程序发生错误时应用程序停止运行并保持在当前状态(注意应用程序仅是静止在发生错误时的状态系统并不会结束该应用程序的进程)。5、–monitor-native-crashes用于指定是否监视并报告应用程序发生崩溃的本地代码6、–hprof该选项设置后将会在monkey事件序列前后立刻生成report大小为大于5MB存储在/data/misc卸载相关问题(Appium)appium settings 版本不对应需要卸载重装adb uninstall io.appium.uiautomator2.serveradb uninstall io.appium.uiautomator2.server.testadb uninstall io.appium.settings开发者模式 USB调试打开使用adb命令uninstall卸载不掉手机上的apk时可以卸载内置app路径adb uninstall 包名Failure [DELETE_FAILED_INTERNAL_ERROR]直接使用adb uninstall命令不能直接卸载apk显示卸载失败接下来就可以使用卸载内置app路径的命令去尝试一下。1、adb root 开启root权限2、adb remount 将/system下的内容变成可写可修改3、adb shell 进入手机系统,如果是root成功则会从$符号变为#4、pm list package 查看包名5、pm path 包名 会得到/system/app/xxx.apk6、cd /system/app 进入得到的apk7、rm -rf xxx.apk 彻底删除系统下的apk8、ls 查看是否删除成功apk9、reboot 重启真机日志缓冲区问题adb logcat -G 5M 设置日志缓冲区的大小连接外网Privacy Use device MAC刷机问题黑屏解决RAW和JPG的区别RAW是未经修正的原始数据JPG是根据厂商的风格、拍摄者的设置等进行了修饰的图片格式。如果后期比较熟悉可用RAW格式这样通过后期可在原始数据的基础上根据自己的喜好出更具自己风格的JPG或其他格式的图片其他adb shell input keyevent 3 # HOME 键adb shell input keyevent 4 # 返回键adb shell input keyevent 5 # 拨号adb shell input keyevent 6 # 挂断adb shell input keyevent 24 # 音量adb shell input keyevent 25 # 音量-adb shell input keyevent 26 # 电源键adb shell input keyevent 27 # 拍照adb shell input keyevent 64 # 打开浏览器adb shell input keyevent 82 # 菜单键adb shell input keyevent 85 # 播放/暂停adb shell input keyevent 86 # 停止播放adb shell input keyevent 87 # 播放下一首adb shell input keyevent 88 # 播放上一首adb shell input keyevent 122 #移动光标到行首或列表顶部adb shell input keyevent 123 #移动光标到行尾或列表底部adb shell input keyevent 126 # 恢复播放adb shell input keyevent 127 # 暂停播放adb shell input keyevent 164 # 静音adb shell input keyevent 176 # 打开系统设置adb shell input keyevent 187 # 切换应用adb shell input keyevent 207 # 打开联系人adb shell input keyevent 208 # 打开日历adb shell input keyevent 209 # 打开音乐adb shell input keyevent 210 # 打开计算器adb shell input keyevent 220 # 降低屏幕亮度adb shell input keyevent 221 # 提高屏幕亮度adb shell input keyevent 223 # 休眠adb shell input keyevent 224 # 点亮屏幕adb shell input keyevent 231 # 打开语音助手adb shell input keyevent 276 # 如果没有 wakelock 则让系统休眠