Android-adb命令大全

来源:互联网 发布:sql server 2008怎么用 编辑:程序博客网 时间:2024/06/05 17:32

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>安装apkadb 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.textlogcat[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:重启到bootloaderRecovery:重启到recoveryreboot-bootloader无重启到bootloaderroot无重新启动adbd获取root身份usb无重新启动adbd来监听USBtcpip<port>重新启动adbd来监听指定的TCP端口wait-for-device无等待设备连接start-server无开启adb服务kill-server无杀掉adb服务get-state无获取adb服务状态offline | bootloader | deviceget-serialno无获取SN号get-devpath无获取device-pathstatus-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:5555disconnect[<host>[:<port>]]断开与TCP / IP设备
如果没有指定端口号则使用5555作为默认端口sync[ <directory> ] 只要文件发生改变时就会自动从主机拷贝到设备
需要指定环境变量ANDROID_PRODUCT_OUT为同步目录shell命令adb shell cat /sys/class/net/wlan0/address获取 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/dataadb 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.comadb 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.pngadb shell screenrecord [options] <path/filename>
Options 说明:
--size WIDTH * HEIGHT
--bit-rate RATE
--time-limit TIME
--rotateadb 命令录制屏幕视频adb shell screenrecord /sdcard/s1.mp4adb shell am startOptions:
   -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 调用 ActivityManageradb shell am start -a android.intent.action.MUSIC_PLAYERadb shell am monitor用 adb 调用 ActivityManager —  监控 Crash 和 ANR adb shell am force-stop      <PACKAGENAME>强制结束一个应用adb shell am kill-all清理所有进程adb shell am startservice<INTENT> 启动一个 Serviceadb shell am broadcast<INTENT> 发送一个广播adb shell pm list package [Options] [FILTER]
Options:
-f : 列出应用包名及对应的apk名及存放位置
-d : 过滤出系统禁用的应用
-e : 过滤出系统中正常使用的应用
-s : 过滤出系统中的系统应用
-3 : 过滤出系统中的第三方应用
-i : 列出应用包名及其安装来源  
-u : 列出包含卸载的应用
FILTER:
列出包含FILTER文本的应用     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-location2 / 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     获取当前的屏幕信息


查看触摸屏报点率

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");}
0 0