1. 解锁

adb shell am start -n com.android.autounlock/.AutoUnlock

2. 启动某个应用

adb shell am start-n breakan.test/breakan.test.TestActivity

adb shell am start -n com.android.tools/.MyApp

拨打某个电话: adb shell am start -a android.intent.action.CALL -d tel:10086

打开某个网页: adb shell am start -a android.intent.action.VIEW -d  http://www.baidu.com

3.启动应用后进行操作

现在触摸屏失效了,不能直接在屏幕上进行选择操作,但是我们可以通过模拟键值来进行操作。

adb shell input keyevent 19   (方向上键)

adb shell input keyevent 20   (方向下键)

adb shell input keyevent 21   (方向左键)

adb shell input keyevent 22   (方向右键)

adb shell input keyevent 23   (方向下键)

adb shell input keyevent 61   (TAB键)

adb shell input keyevent 66   (确定键)

adb shell input keyevent 3    (返回键)

adb shell input keyevent HOME   (方向下键)

adb shell input keyevent MENU  (菜单键)

adb shell input keyevent BACK  (返回键)

adb shell input keyevent CAMERA  (拍照键)

adb shell input keyevent POWER  (电源键)

等等一些,数字键、字母键,包括PC键盘上面的键值都可以模拟出来。相当强大吧!

4. 使用adb命令截屏内容,所截取的屏幕为framebuffer里面的内容,格式为png

$ adb shell screencap -p /sdcard/screen.png
    $ adb pull /sdcard/screen.png
    $ adb shell rm /sdcard/screen.png

子命令 参数 说明 备注
 [-d|-e|-s <serialNumber> ] <command> 发送命令到指定设备
 devices [-l] 列出所有已经连接的设备,有三种状态
device/offline/device not found
参数[-l]可省略
 push  <local>  <remote> 复制一个文件或者目录到设备中 adb push D:\test.apk  /mnt/sdcard/
pull <remote>  <local> 从手机复制一个文件到本地 adb pull /mnt/sdcard/test.apk D:\
install [-lrtsd] <file> 安装apk adb install D:\test.apk
-l:标识应用为受限应用
-r:替换已经存在的应用
-t:运行安装测试包
-s:安装到SD卡中
-d:允许降级安装
install-multiple [-lrtsdp] <file...> 批量安装
-p:部分应用程序安装
uninstall [-k] <package> -k:保持data和cache下的文件 adb uninstall  package name 
bugreport 打印当前的dumpsys、sumpstate、logcat的输出 adb bugreport > D:/bugreport.text
logcat [Options] [FILTER]
Options:
-s :  设置输出日志的标签,只显示该标签的日志
-f :  将日志输出到文件,默认输出到标准输出流
-v :  设置日志的输出格式,注意只能设置一项
-b : 加载一个日志缓冲区,默认是main
-c :  清空所有的日志缓存信息

FILTER :
格式:<TAG>[:priority] 默认是  *:| 
    V :   Verbose
    D :   Debug
    I :   Info
    W :   Warn
    E :   Error
    S :    Slient

输出Android系统日志 adb logcat与gref命令一起使用:

adb logcat | gref wifi : 过滤出wifi的信息

adb logcat | gref "正则表达式"

shell 命令较多 进入远程shell端
remount 重新挂载系统分区,使系统分区重新可写
reboot [bootloader|recovery] 重启
Bootloader:重启到bootloader
Recovery:重启到recovery
reboot-bootloader 重启到bootloader
root 重新启动adbd获取root身份
usb 重新启动adbd来监听USB
tcpip <port> 重新启动adbd来监听指定的TCP端口
wait-for-device 等待设备连接
start-server 开启adb服务
kill-server 杀掉adb服务
get-state 获取adb服务状态offline | bootloader | device
get-serialno 获取SN号
get-devpath 获取device-path
status-window 连续打印指定设备的设备状态
adb 备份与恢复命令
backup 将应用的数据文件写入到指定的文件,如果没有指定-f 输出目录,则保持在当前目录的"backup.ab"
[-f <file>] 指定备份目录
[-apk|-noapk] 是否备份apk文件,默认是noapk
[-obb|-noobb] 是否备份obb数据包,默认是noobb
[-shared|-noshared] 是否备份SD卡共享内容,默认是noshared
[-all] 备份所有已安装的应用
[-system|-nosystem] 是否备份系统应用,-all默认是包括系统应用
[<packages...>] 备份指定的应用列表
restore <file> 将备份文件恢复到手机中
adb 重定向端口命令—端口映射命令 将开发PC上的端口(1314)重定向到设备的端口(5200)上,这样所有发往PC端口(1314)的数据都会被转发到设备的端口(5200)上。这个机制可以实现远程控制Android设备应用
forward --list  列出所有套接字连接列表 打开设备monkey应用端口:adb  shell monkey --port 1080
将PC的1080映射到设备的1080:adb forward tcp:1080 tcp:1080
连接本机1080端口即连接到设备的1080端口 telnet 1080
 即进入monkey通讯界面
forward <local> <remote> 重定向端口
forward --no-rebind <local> <remote> 重定向端口,假如local端口已经被占用则失败
forward --remove <local> 移除本地已经连接的套接字
forward --remove-all 移除本地已经连接的所有套接字
reverse --list 列出所有连接设备反向的套接字
reverse <remote> <local> 反向连接套接字
reverse --norebind <remote> <local> 反向连接,假如端口已经被占用则连接失败
reverse --remove <remote> 删除一个特定的逆转套接字连接
reverse --remove-all 删除所有逆转的套接字连接设备
adb 无线连接与文件同步
 connect <host>[:<port>]  通过TCP / IP连接到设备
如果没有指定端口号则使用5555作为默认端口
1.root您的Andorid设备
2.安装wireless adb工具(google?play里面可以下载)
3.PC和Android设备连接到同一网络,手机上查看Android设备IP地址
        通过命令:netcfg查询IP
4.PC端输入以下命令
        adb connect IP地址:端口,端口默认为5555
        adb connect 192.168.1.105:5555

注意:adb 无线连接失败解决
通过USB连接后直接通过ADB设置
adb tcpip 5555 #让adbd重新启动,并监听端口5555
adb connect 192.168.0.101:5555

disconnect [<host>[:<port>]] 断开与TCP / IP设备
如果没有指定端口号则使用5555作为默认端口
sync [ <directory> ]  只要文件发生改变时就会自动从主机拷贝到设备
需要指定环境变量ANDROID_PRODUCT_OUT为同步目录
shell命令
adb shell cat /sys/class/net/wlan0/address shell命令 获取 wifi mac 地址
adb shell cat /proc/cpuinfo  获取 cpu 序列号
adb shell cat /system/build.prop 获取设备编译属性
adb shell cat /data/misc/wifi/*.conf  获取 wifi 配置信息(需要ROOT权限)
adb shell top  [-m <number>] 查看内存占用情况 adb shell top 系统所有的内存占用情况 
adb shell top -m 3 前三个占用的情况
adb shell top -n 1 刷新一次内存,然后返回
adb shell ps 查看进程列表 
adb shell kill   <pid>  杀死一个进程
adb shell ps –x   <pid> 查看指定进程的状态
adb shell service list 查看后台 services 信息 
adb shell cat  /proc/meminfo  查看当前内存占用
adb shell cat /proc/iomem 查看 IO 内存分区(需要ROOT权限)
adb shell ls mnt 查看所有设备存储设备名
adb remount  将 system 分区重新挂载为可读写分区
adb shell ls 列出目录下的文件和文件夹
adb shell cd     <folder>  进入文件夹 adb shell 
cd data/data
adb shell rm [-r] <path/filename>  删除文件(夹)
adb shell cat <file> 查看文件内容
adb shell mkdir path/foldername 新建文件夹
adb shell input text  <content> 发送文本内容 adb shell input text "www.baidu.com"  输入www.baidu.com
adb shell input keyevent  <keycode>  发送键盘事件 adb shell input keyevent KETCODE_HOME  按HOME键
adb shell wm size 获取设备分辨率
adb shell getprop <key> 获取设备参数信息 adb shell getprop ro.build.version.sdk  获取SDK版本信息
adb shell setprop  <key> <value> 设置设备参数信息
adb shell screencap –p <path/file> adb 命令截图 adb shell screencap -p /sdcard/test.png
adb shell screenrecord  [options] <path/filename>
Options 说明:
--size WIDTH * HEIGHT
--bit-rate RATE
--time-limit TIME
--rotate
adb 命令录制屏幕视频 adb shell screenrecord /sdcard/s1.mp4
adb shell am start Options:
   -D : 启动调试
   -W : 等待启动完成
INTENT :
   -a <ACTION> :设置 intent 的 action
   -d <DATA_URI> :设置 intent 的uri
      -t <MIME_TYPE> : 设置 intent 的 mime 类型
   -c <CATEGORY> : 设置 intent 的类别
   -n <COMPONENT> : 设置 intent 的 component
   -f <FLAGS> :设置 intent 的 flag
使用 adb 调用 ActivityManager adb shell am start -a android.intent.action.MUSIC_PLAYER
adb shell am monitor 用 adb 调用 ActivityManager —  监控 Crash 和 ANR 
adb shell am force-stop       <PACKAGENAME> 强制结束一个应用
adb shell am kill-all 清理所有进程
adb shell am startservice <INTENT>  启动一个 Service
adb shell am broadcast <INTENT>  发送一个广播 启动主菜单:adb shell am broadcast -a GOTO_ALL_APP
adb shell pm list package  [Options] [FILTER]
Options:
-f : 列出应用包名及对应的apk名及存放位置
-d : 过滤出系统禁用的应用
-e : 过滤出系统中正常使用的应用
-s : 过滤出系统中的系统应用
-3 : 过滤出系统中的第三方应用
-i : 列出应用包名及其安装来源  
-u : 列出包含卸载的应用
FILTER:
列出包含FILTER文本的应用     
adb shell pm list packages -f|grep -nri
adb shell pm path  <PACKAGENAME> 列出应用包名对应的 .apk 位置
adb shell pm dump  <PACKAGENAME> dump 应用信息
adb shell pm install [Options]  < apk file>
Options:
-r : 覆盖安装
-s : 安装应用到 sdcard 上
-f  : 安装应用到内部存储上
-d : 允许安装低版本应用
安装应用
adb shell pm uninstall  <PACKAGENAME> 卸载应用
adb shell pm get-install-location 获取应用安装位置 返回为0表示自动
返回为1表示手机存储
返回为2表示SD卡
adb shell pm set-install-location 2 / 0  / 1 设置应用安装位置
adb shell pm  enabled  <PACKAGENAME> 显示应用
adb shell pm  disenabled  <PACKAGENAME> 禁用应用
adb shell dumpsys 获取当前系统信息 adb shell dumpsys meminfo  获取当前的CPU信息
adb shell dumpsys cpuinfo  获取当前的CPU信息
adb shell dumpsys battery  获取当前的电池信息
adb shell dumpsys wifi     获取当前的wifi信息
adb shell dumpsys display | grep DisplayDeviceInfo     获取当前的屏幕信息
USB设置充电模式 setprop persist.usb.chgdisabled 0
adb shell shutdown 关机
adb shell blkid 查看手机挂载,比如TD卡
echo aa>fsc_log 新建文件fsc_log
导出手机截图 adb pull /sdcard/Pictures/Screenshots ./Screenshots
#touch 文件名 新建指定文件      adb shell touch data/log/1231.java;chmod 777 data/log/1231.java
#echo > 文件名 新建指定文件     
#echo abcde> 文件名 新建把字符串“abcde”写到指定目录
liunx 打开文件:nautilus ./
启动设置 adb shell am start -n com.android.settings/com.android.settings.Settings
启动主菜单 adb shell am broadcast -a GOTO_ALL_APP
启动老化单项: adb shell am start -n com.ckt.runtime/.RuntimeTestSetting
删除老化LOG adb shell rm -rf sdcard/runInTest
查看CPU使用情况: adb shell top -m 100 -s cpu
查看已知服务CPU使用情况: adb shell top | grep /system/bin/rf_test_srv
ADB SHELL  adb shell "ps | grep rf_test_srv | busybox awk '{print $2}'|xargs kill -9"
ADB 删除指定名字的APK
查看当前运行APK的包名类名 adb shell "dumpsys activity top |grep ACTIVITY"
读SN号 adb shell getprop persist.sys.pcbasn
读取版本号 adb shell getprop > ./prop.log
QXDM: Send_data 0x29 0x02 0x00
nv_read_item 114
杀死一个指定进程: adb shell "ps | grep rf_test_srv | busybox awk '{print $2}'|xargs kill -9"
DUMP信息填写 APPS   \out\target\product\msm8937_64\obj\KERNEL_OBJ
MODEM  \MPSS.JO.2.0\modem_proc\build\ms
概念
1,adb 是什么?
就是debug工具 监听网络端口方式让IDE和Qemu通讯。
2,adb 有什么用? 
就是连接手机与pc端的桥梁 ,让用户在电脑上对手机进行全面操作。
3,adb常用命令
获取序列号:
 adb get-serialno
查看连接计算机的设备:
 adb devices
重启机器:
 adb reboot
重启到bootloader,即刷机模式:
 adb reboot bootloader
重启到recovery,即恢复模式:
 adb reboot recovery
查看log:
 adb logcat
终止adb服务进程:
 adb kill-server
重启adb服务进程:
 adb start-server
获取机器MAC地址:
 adb shell  cat /sys/class/net/wlan0/address
获取CPU序列号:
adb shell cat /proc/cpuinfo
安装APK:
adb install <apkfile> //比如:adb install baidu.apk
保留数据和缓存文件,重新安装apk:
adb install -r <apkfile> //比如:adb install -r baidu.apk
安装apk到sd卡:
adb install -s <apkfile> // 比如:adb install -s baidu.apk
卸载APK:
adb uninstall <package> //比如:adb uninstall com.baidu.search
卸载app但保留数据和缓存文件:
adb uninstall -k <package> //比如:adb uninstall -k com.baidu.search
启动应用:
adb shell am start -n <package_name>/.<activity_class_name>
查看设备cpu和内存占用情况:
adb shell top
查看占用内存前6的app:
adb shell top -m 6
刷新一次内存信息,然后返回:
adb shell top -n 1
查询各进程内存使用情况:
adb shell procrank
杀死一个进程:
adb shell kill [pid]
查看进程列表:
adb shell ps
查看指定进程状态:
adb shell ps -x [PID]
查看后台services信息:
adb shell service list
查看当前内存占用:
adb shell cat /proc/meminfo
查看IO内存分区:
adb shell cat /proc/iomem
将system分区重新挂载为可读写分区:
adb remount
从本地复制文件到设备:
adb push <local> <remote>
从设备复制文件到本地:
adb pull <remote>  <local>
列出目录下的文件和文件夹,等同于dos中的dir命令:
adb shell ls
进入文件夹,等同于dos中的cd 命令:
adb shell cd <folder>
重命名文件:
adb shell rename path/oldfilename path/newfilename
删除system/avi.apk:
adb shell rm /system/avi.apk
删除文件夹及其下面所有文件:
adb shell rm -r <folder>
移动文件:
adb shell mv path/file newpath/file
设置文件权限:
adb shell chmod 777 /system/fonts/DroidSansFallback.ttf
新建文件夹:
adb shell mkdir path/foldelname
查看文件内容:
adb shell cat <file>
查看wifi密码:
adb shell cat /data/misc/wifi/*.conf
清除log缓存:
adb logcat -c
查看bug报告:
adb bugreport
获取设备名称:
adb shell cat /system/build.prop
查看ADB帮助:
adb help
跑monkey:
adb shell monkey -v -p your.package.name 500
经常有的有:

查看触摸屏报点率

getevent -r |grep “eventx”

相应代码在 system/core/toolbox/getevent.c 
usage:

static void usage(int argc, char *argv[])
{fprintf(stderr, "Usage: %s [-t] [-n] [-s switchmask] [-S] [-v [mask]] [-d] [-p] [-i] [-l] [-q] [-c count] [-r] [device]\n", argv[0]);fprintf(stderr, "    -t: show time stamps\n");fprintf(stderr, "    -n: don't print newlines\n");fprintf(stderr, "    -s: print switch states for given bits\n");fprintf(stderr, "    -S: print all switch states\n");fprintf(stderr, "    -v: verbosity mask (errs=1, dev=2, name=4, info=8, vers=16, pos. events=32, props=64)\n");fprintf(stderr, "    -d: show HID descriptor, if available\n");fprintf(stderr, "    -p: show possible events (errs, dev, name, pos. events)\n");fprintf(stderr, "    -i: show all device info and possible events\n");fprintf(stderr, "    -l: label event types and names in plain text\n");fprintf(stderr, "    -q: quiet (clear verbosity mask)\n");fprintf(stderr, "    -c: print given number of events then exit\n");fprintf(stderr, "    -r: print rate events are received\n");
}

Android-adb命令大全相关推荐

  1. android 系统(6)---Android ADB 命令大全

    原文链接:https://github.com/mzlogin/awesome-adb ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也 ...

  2. Android adb 命令大全

    转自:https://github.com/mzlogin/awesome-adb ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 ...

  3. android 手机命令大全,Android ADB命令大全

    root uid 0 gid 0 system uid 1000 gid 1000 shell uid 2000 gid 2000 app uid 10000 gid 10000 jarsigner ...

  4. android ADB命令大全(安装apk,跳转设置页面,获取应用包名,模拟点击等事件)

    获取内部版本号: adb shell getprop ro.build.display.innerver 2. 获取按键值: adb shell getevent 3. 获取apk信息: adb sh ...

  5. adb命令——adb命令大全

    参考下载地址:https://github.com/mzlogin/awesome-adb https://github.com/mzlogin/awesome-adb#%E5%9F%BA%E6%9C ...

  6. android adb 命令汇总

    一. adb 常用命令 adb version --查看adb版本 adb devices–用来查看当前连接的设备,已连接的设备会显示出来 adb connect ip地址–用来连接设备 adb di ...

  7. [1002]adb命令大全

    文章目录 ADB概念 ADB的工作原理 adb常用指令 adb 安装,卸载 程序 adb(pull,push)发送文件 adb屏幕截图 录制屏幕 查看连接过的 WiFi 密码 设置系统日期和时间 开启 ...

  8. Doze中的adb命令大全

    Doze中的adb命令大全 Android中DeviceidleController中有两个状态,分别是light idle.deep idle,二者构成了Android系统的doze机制. 控制设备 ...

  9. Android adb 命令启动Activity

    Android adb 命令启动Activity 1.不带参数启动Activity adb shell am start -n com.app.test/.MainActivity adb shell ...

  10. 利用Android adb命令来测试手机App的耗电量

    使用Android adb命令实现wifi方式连接手机 因为要通过adb命令来监控手机的耗电量,所以建议通过wifi的方式来连接手机,而不是用usb线来连接手机设备.usb方式连接手机会自动给手机充电 ...

最新文章

  1. 机房收费系统--准备工作
  2. replaced element / non-replaced element : 内容决定
  3. 使用PowerDesigner做数据库设计(一)
  4. ASP.NET MVC增删改查
  5. jQuery万能浮动框插件测试
  6. spring在java工程中的运用
  7. SVN安装,SVN服务搭建与eclipse里插件安装
  8. 网站压测工具Apache-ab,webbench,Apache-Jemeter
  9. qam报告matlab,16QAM调制解调(MATLAB)..doc
  10. UberAir飞行汽车:一键乘坐飞机会变成现实吗
  11. Hibernate 框架检索策略
  12. C和C++的区别点汇总
  13. kso- netCore 中 Autofac的使用
  14. php+怎么加边框,ps给图片加上漂亮的边框-PS教程
  15. 一维、二维正态分布概率密度曲线的绘制
  16. C++的内存机制,程序变成exe执行的过程
  17. 美的2021高频题汇总 | 备战春招,刷这30题就够了!
  18. PSP - TMScore(US-align)、RMSD、Sequence 源码
  19. 有符号数和无符号数区别
  20. 知乎万赞:计算机应届生月薪大多是多少?

热门文章

  1. 转:如何确保日常决策与战略不偏离?
  2. 传奇GEE引擎版本如何封挂?通过脚本+引擎封玩家账号教程
  3. 上云时代,看“探路者”如何赋能云端生态?
  4. 【信息科学技术与创新】 人类大脑中数据的产生,积累,增长 数据与信息 神经信息学
  5. 不出门也能看风景,观景软件分享
  6. 为避免反射炫光计算机屏幕应怎样摆放,除了膜,电脑屏幕上还有种涂层,随便擦可就毁了!...
  7. 【2. 表结构设计和数据类型优化】
  8. 关于搜索问题答案的方式
  9. BQ76930 DSG CHG 不能输出高电平解决方法
  10. 微信小程序快速创建wxml、js、json、wxss新文件