Android之常用adb指令
Android之常用adb指令
adb命令模拟按键事件 KeyCode
- //这条命令相当于按了设备的Backkey键
- adb shell input keyevent 4
- //这条命令相当于按了设备的Home键
- adb shell input keyevent 3
- //这条命令相当于按了设备的MENU键
- adb shell input keyevent 82
- //可以解锁屏幕
- adb shell input keyevent 82
- //在屏幕上做划屏操作,前四个数为坐标点,后面是滑动的时间(单位毫秒)
- adb shell input swipe 50 250 250 250 500
- //在屏幕上点击坐标点x=50 y=250的位置。
- adb shell input tap 50 250
- //输入字符abc
- adb shell input text abc
adb命令输入文本
焦点处于某文本框时,可以通过 input 命令来输入文本比如:Holle World
- adb shell input Holle World
adb命令截图
- adb shell screencap -p /sdcard/xx.png
adb命令录制 mp4 格式的视频保存到 /sdcard
- adb shell screenrecord /sdcard/xxx.mp4
启动一个Activity:
- adb shell am start -n {包名}/{包名}.{活动名称/类名}
启动service:
- adb shell am startservice -n {包名}/{包名}.{服务名称}
发送broadcast:
adb shell am broadcast -a
- eg:adb shell am broadcast -a com.bd.vr.app.action --es name_string "uu" --ei age_int 27 --ez reservation_boolean true
- 说明:前面为EXTRA_KEY,后面为VALUE,分别为String类型,int类型,boolean类型
查看应用启动时间:
//(相当于热启动)
adb shell am start -W {包名}/{包名}.{活动入口名称/类名}
//(相当于冷启动)
adb shell am start -S -W {包名}/{包名}.{活动入口名称/类名}
- -W 列出启动过程中统计到的具体数据
- -S 强制停止当前的Activity,重新启动
- ThisTime:最后一个启动的Activity的启动耗时.
- TotalTime:自己的所有Activity的启动耗时.
- WaitTime: ActivityManagerService启动App的Activity时的总时间(包括当前Activity的onPause()和自己Activity的启动).
查看CPU信息
adb shell top -m -s cpu(-m显示最大数量,-s 按指定行排序)
- 参数含义:
- PID : progress identification,应用程序ID
- S : 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
- #THR : 程序当前所用的线程数
- VSS : Virtual Set Size虚拟耗用内存(包含共享库占用的内存)
- RSS : Resident Set Size实际使用物理内存(包含共享库占用的内存)
- PCY : 前台(fg)和后台(bg)进程
- UID : User Identification,用户身份ID
- Name : 应用程序名称
(注:Ctrl+c退出adb命令行)
- 可以根据PID值可以查看当前程序的内存使用情况
adb shell dumpsys xxx(PID)
- 参数含义:
- dalvik : dalvik使用的内存
- native : native堆上的内存,指C\C++堆的内存(android 3.0以后bitmap就是放在这儿)
- other : 除了dalvik和native的内存,包含C\C++非堆内存······
- Pss : 该内存指将共享内存按比例分配到使用了共享内存的进程
- allocated : 已使用的内存
- free : 空闲的内存
- private dirty : 非共享,又不能被换页出去的内存(比如linux系统中为了提高分配内存速度而缓冲的小对象,即使你的进程已经退出,该内存也不会被释放)
- share dirty : 共享,但有不能被换页出去的内存
adb shell dumpsys相关指令(打印出当前系统信息)
- adb shell dumpsys activity(查看Activity相关信息)
- adb shell dumpsys cpuinfo(查看CPU相关信息)
- adb shell dumpsys battery(查看电池使用信息)
- adb shell dumpsys window(查看Window的相关信息,最后部分可以看到分辨率的信息)
获取当前Activity的信息:
adb shell "dumpsys activity | grep mFocusedActivity"
获取当前设备的分辨率:
adb shell "dumpsys window | grep init "
apk文件安装和卸载
- adb install (主要作用:将指定的apk文件安装到设备上)
- adb install –r 覆盖安装
- adb install –s 安装到SD卡
- adb install –rs覆盖安装到SD卡
- adb uninstall <包名>(主要作用:卸载设备上的指定程序)
adb push/pull复制文件
- adb push <本地路径><设备路径>(把pc上的文件或文件夹复制到设备中)
- adb pull <设备路径><本地路径>(把设备上的文件或文件夹复制到电脑)
adb 查看应用的包名
- adb shell pm list packages(查看所有应用包名)
- adb shell "pm list packages | grep xxx"(查看包含xxx关键字的应用包名)
- adb shell pm list packages -f(查看所有应用包名及其安装位置)
- adb shell "pm list packages -f | grep xxx"(查看包含xxx关键字的应用包名及其安装位置)
adb shell
- ls 查看文件夹
- cd 改变目录
- cat <文件名> 查看文件内容
- rm 删除文件
- mkdir <文件夹> 新建文件夹
- cp 复制文件到另一目录
- exit 退出shell命令
adb logcat相关
adb logcat [选项] [过滤项], 其中 选项 和 过滤项 在 中括号 [] 中, 说明这是可选的
- 选项解析 :
- -- "-s"选项 : 设置输出日志的标签, 只显示该标签的日志;
- --"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
- --"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
- --"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
- --"-v"选项 : 设置日志的输出格式, 注意只能设置一项;
- --"-c"选项 : 清空所有的日志缓存信息;
- --"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
- --"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
- --"-g"选项 : 查看日志缓冲区信息;
- --"-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;
- --"-B"选项 : 以二进制形式输出日志;
-
过滤项解析(过滤项格式 :
[:priority]) - 过滤项格式 :
[:priority] , 标签:日志等级, 默认的日志过滤项是 " *:I " ; - -- V : Verbose (明细);
- -- D : Debug (调试);
- -- I : Info (信息);
- -- W : Warn (警告);
- -- E : Error (错误);
- -- F: Fatal (严重错误);
- -- S : Silent(Super all output) (最高的优先级, 可能不会记载东西);
使用管道过滤日志
adb shell "logcat | grep xxx "(过滤固定字符串 : 只要命令行出现的日志都可以过滤, 不管是不是标签)
输出日志到指定文件夹
adb logcat > D:\abd_log_file\hb_log.log(日志包括系统日志输出到指定文件里)
adb logcat >D:\adb_log_file\"%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%时%time:~3,2%分%time:~6,2%.log"
(将日志信息输出到以“日期 时间”命名的文件中)
(注:操作APP 后,再控制台输入ctrl + c 按键,停止输出日志信息)
更多相关文章
- Android(安卓)Log日志保存到本地并读取
- android 输出.txt 文本换行问题
- Android(安卓)onDestroy防止WebView内存泄露的写法
- Android(安卓)使用finalBitmap实现缓存读取
- Android设备内存和SD卡操作工具类
- android studio release版本下打印输出日志
- android.util.Log常用的方法
- Android(安卓)Jni NDK 打印log日志
- Android中向SD卡读写数据,读SD卡和手机内存