adb 常用命令-转载

转自:https://blog.csdn.net/suxing_ing/article/details/54907860

  1. 显示当前运行的全部模拟器:adb devices
  2. 获取序列号:adb get-serialno
  3. 重启机器:adb reboot
  4. 重启到bootloader,即刷机模式:adb reboot bootloader
  5. 重启到recovery,即恢复模式:adb reboot recovery
  6. 查看log:adb logcat
  7.  终止adb服务进程:adb kill-server
  8. 重启adb服务进程:adb start-server
  9. 获取机器MAC地址:adb shell cat /sys/class/net/wlan0/address
  10. 获取CPU序列号:adb shell cat /proc/cpuinfo
  11. 重新安装apk:adb install 123.apk
  12. 安装apk到sd卡:adb install -s 123.apk
  13. 保留数据和缓存文件,重新安装apk:adb install -r 123.apk
  14. 获取模拟器中的文件:adb pull <remote> <local>
  15. 向模拟器中写文件: adb push <local> <remote>
  16.  进入模拟器的shell模式:adb shell
  17. 卸载APP但保留数据和缓存文件: adb uninstall -k 123.apk

  18. 启动应用: adb shell am start -n <package_name>/.<activity_class_name>

  19. 查看设备CPU和内存占用情况:adb shell top

  20. 跑monkey:adb shell monkey -v -p your.package.name 500

  21. 查看ADB帮助:adb help

  22. 获取设备名称:adb shell cat /system/build.prop

  23. 查看bug报告:adb bugreport

  24. 清除log缓存:adb logcat -c

  25. 查看wifi密码:adb shell cat /data/misc/wifi/*.conf

  26. 查看文件内容:adb shell cat <file>

  27. 新建文件夹:adb shell mkdir path/foldelname

  28. 设置文件权限:adb shell chmod 777 /system/fonts/DroidSansFallback.ttf

  29. 移动文件:adb shell mv path/file newpath/file

  30. 删除文件夹及其下面所有文件:adb shell rm -r <folder>

  31. 删除system/avi.apk:adb shell rm /system/avi.apk

  32. 重命名文件:adb shell rename path/oldfilename path/newfilename

  33. 进入文件夹,等同于dos中的cd 命令:adb shell cd <folder>

  34. 列出目录下的文件和文件夹,等同于dos中的dir命令:adb shell ls

  35. 从设备复制文件到本地:adb pull <remote> <local>

  36. 从本地复制文件到设备:adb push <local> <remote>

  37. 将system分区重新挂载为可读写分区:adb remount

  38. 查看IO内存分区:adb shell cat /proc/iomem

  39. 查看当前内存占用:adb shell cat /proc/meminfo

  40. 查看后台services信息:adb shell service list

  41. 查看指定进程状态:adb shell ps -x [PID]

  42. 查看进程列表:adb shell ps

  43. 杀死一个进程:adb shell kill [pid]

  44. 查询各进程内存使用情况:adb shell procrank

  45. 刷新一次内存信息,然后返回:adb shell top -n 1

  46. 查看占用内存前6的APP:adb shell top -m 6

  47. 缷载apk包:adb shell
          cd data/app
          rm 123.apk
          exit
          adb uninstall 123.apk
          adb install -r 123.apk

   48.  查看adb命令帮助信息: adb help
   49.  删除系统应用:
      adb remount (重新挂载系统分区,使系统分区重新可写)。
      adb shell
      cd system/app
      rm 123.apk

   50.  获取管理员权限: adb root

   51. 复制文件: 
     复制一个文件或目录到设备: 
      adb push <source> <destination></destination></source> 
      如:adb push update.zip /sdcard/ 
     从设备上复制一个文件或目录: 
     adb pull <source> <destination></destination></source> 
     如:adb pull /sdcard/update.zip.

   53. 取得当前运行设备的实例的列表及每个实例的状态: adb devices

   54.  #cd system/sd/data //进入系统内指定文件夹 
           cd .. 返回上一级目录 
           cd ../.. 返回上两级目录 
           cd 进入个人的主目录 
           cd ~user1 进入个人的主目录 
           cd - 返回上次所在的目录


#ls //列表显示当前文件夹内容 
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 
#rm xxx //删除文件xxx 
#rmdir xxx //删除xxx的文件夹 

#mkdir -p xxx //递归创建xxx的文件夹
#cp [选项] [来源文件] [目的文件],-d 复制一个快捷方式/-r 复制一个目录/-i 对一个存在的文件,询问是否覆盖
#mv [选项] [来源文件] [目标文件],-u 目标文件存在时才会生效,如果源文件比目标文件新才会移动/-i 对一个存在的文件,询问是否覆盖;


#cat 常用命令,即查看一个文件的内容并显示在屏幕上。
     more 也是用来查看一个文件的内容。当文件内容太多,一屏幕不能占下,使用more当看完一屏后按空格键继续看下一屏。看完所有内容后就会退出。如果你想提前退出,只需按q键即可。
     less 作用跟more一样,但比more好在可以上翻,下翻。空格键同样可以翻页,而按”j”键可以向下移动(按一下就向下移动一行),按”k”键向上移动。在使用more和less查看某个文件时,你可以按一下”/” 键,然后输入一个word回车,这样就可以查找这个word了。如果是多个该word可以按”n”键显示下一个。另外你也可以不按”/”而是按”?”后边同样跟word来搜索这个word,唯一不同的是,”/”是在当前行向下搜索,而”?”是在当前行向上搜索。

转自:https://blog.csdn.net/wang_trace/article/details/53927450

# 一.基本命令

 ·adb -s serialNumber shell//进入指定设备

 ·adb version//查看版本

 ·adb logcat //查看日志

 ·adb devices //查看设备

 ·adb get-state//连接状态

 ·adb start-server //启动ADB服务

 ·adb kill-server //停止ADB服务

 ·adb push local remote //电脑推送到手机

 ·adb pull remote local //手机拉取到电脑

----------------------------------------------------------------------------------------------------------------------------

# 二. am 与pm

am start -n {packageName}/.{activityName}  启动app

am kill <packageName>  杀app的进程

am force-stop  <packageName>  强制停止一切

am startservice  启动服务

am stopservice 停止服务

am start -a android.intent.action.VIEW -d  http://www.12306.cn/打开12306网站

am start -a android.intent.action.CALL -d tel:10086  拨打10086

pm list packages  列出手机所有的包名

pm install/uninstall  安装/卸载

-------------------------------------------------------------------------------------------------------------------

#三. 模拟用户事件

文本输入:  adb shell input text <string> 例手机端输出demo字符串,相应指令:adb shell input "demo".

键盘事件: input keyevent <KEYCODE>,其中KEYCODE见本文结尾的附表 例点击返回键,相应指令:input keyevent 4.

点击事件: input tap <x> <y> 例点击坐标(500,500),相应指令: input tap 500 500.

滑动事件: input swipe <x1> <y1> <x2> <y2> <time>例从坐标(300,500)滑动到(100,500),相应指令:input swipe 300 500 100 500. 例200ms时间从坐标(300,500)滑动到(100,500),相应指令:input swipe 300 500 100 500 200.

-------------------------------------------------------------------------------------------------------------------

# 四.logcat

logcat | grep  <str> 显示包含的logcatlogcat | grep -i <str> 显示包含,并忽略大小写的logcatlogcat -d 读完所有log后返回,而不会一直等待logcat -c 清空log并退出logcat -t <count>  打印最近的countlogcat -v  <format>,格式化输出Log,其中format有如下可选值:    

  • brief — 显示优先级/标记和原始进程的PID (默认格式)
  • process — 仅显示进程PID
  • tag — 仅显示优先级/标记
  • thread — 仅显示进程:线程和优先级/标记
  • raw — 显示原始的日志信息,没有其他的元数据字段
  • time — 显示日期,调用时间,优先级/标记,PID
  • long —显示所有的元数据字段并且用空行分隔消息内容

-----------------------------------------------------------------------------------------------------------------

# 五.常用节点

查看节点值,例如:cat /sys/class/leds/lcd-backlight/brightness 修改节点值,例如:echo 128 > sys/class/leds/lcd-backlight/brightness

  • LPM: echo N > /sys/modue/lpm_levels/parameters/sleep_disabled

  • 亮度: /sys/class/leds/lcd-backlight/brightness

  • CPU: /sys/devices/system/cpu/cpu0/cpufreq

  • GPU: /sys/class/ kgsl/kgsl-3d0/gpuclk

  • 限频: cat /data/pmlist.config

  • 电流: cat /sys/class/power_supply/battery/current_now

  • 查看Power: dumpsys power

  • WIFI data/misc/wifi/wpa_supplicant.conf

  • 持有wake_lock: echo a> sys/power/wake_lock 释放wake_lock: echo a> sys/power/wake_unlock

  • 查看Wakeup_source: cat sys/kernel/debug/wakeup_sources

  • SurfaceFlinger dumpsys SurfaceFlinger

  • Display(关闭AD): mv /data/misc/display/calib.cfg  /data/misc/display/calib.cfg.bak   重启

  • 关闭cabc:  echo 0 > /sys/device/virtual/graphics/fb0/cabc_onoff 打开cabc:echo 3 > /sys/device/virtual/graphics/fb0/cabc_onoff

  • systrace: sdk/tools/monitor

  • 限频:  echo /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq      1497600

  • 当出现read-only 且 remount命令不管用时:  adb shell mount -o rw,remount /

  • 进入9008模式: adb reboot edl

  • 查看高通gpio:sys/class/private/tlmm 或者 sys/private/tlmm

  • 查看gpio占用情况:sys/kernel/debug/gpio

-----------------------------------------------------------------------------------------------------------------

# 六.远程ADB

为了避免使用数据线,可通过WiFi通信,前提是手机与pc处于同一局域网

启动方法:

adb tcpip 5555  //这一步,必须通过数据线把手机与PC连接后再执行

adb connect<手机IP>

 

停止方法:

adb disconnect//断开wifi连接

adb usb//切换到usb模式

--------------------------------------------------------------------------

# 七.附表

下表中,箭头左边为keycode值,箭头右边为keycode的含义,部分用中文标注

0 –>  “KEYCODE_UNKNOWN”

1 –>  “KEYCODE_MENU”

2 –>  “KEYCODE_SOFT_RIGHT”

3 –>  “KEYCODE_HOME”     //Home键

4 –>  “KEYCODE_BACK”     //返回键

5 –>  “KEYCODE_CALL”

6 –>  “KEYCODE_ENDCALL”

7 –>  “KEYCODE_0”       //数字键0

8 –>  “KEYCODE_1”

9 –>  “KEYCODE_2”

10 –>  “KEYCODE_3”

11 –>  “KEYCODE_4”

12 –>  “KEYCODE_5”

13 –>  “KEYCODE_6”

14 –>  “KEYCODE_7”

15 –>  “KEYCODE_8”

16 –>  “KEYCODE_9”

17 –>  “KEYCODE_STAR”

18 –>  “KEYCODE_POUND”

19 –>  “KEYCODE_DPAD_UP”

20 –>  “KEYCODE_DPAD_DOWN”

21 –>  “KEYCODE_DPAD_LEFT”

22 –>  “KEYCODE_DPAD_RIGHT”

23 –>  “KEYCODE_DPAD_CENTER”

24 –>  “KEYCODE_VOLUME_UP”    //音量键+

25 –>  “KEYCODE_VOLUME_DOWN”  //音量键-

26 –>  “KEYCODE_POWER”   //Power键

 27 –>  “KEYCODE_CAMERA”

28 –>  “KEYCODE_CLEAR”

29 –>  “KEYCODE_A”    //字母键A

30 –>  “KEYCODE_B”

31 –>  “KEYCODE_C”

32 –>  “KEYCODE_D”

33 –>  “KEYCODE_E”

34 –>  “KEYCODE_F”

35 –>  “KEYCODE_G”

36 –>  “KEYCODE_H”

37 –>  “KEYCODE_I”

38 –>  “KEYCODE_J”

39 –>  “KEYCODE_K”

40 –>  “KEYCODE_L”

41 –>  “KEYCODE_M”

42 –>  “KEYCODE_N”

43 –>  “KEYCODE_O”

44 –>  “KEYCODE_P”

45 –>  “KEYCODE_Q”

46 –>  “KEYCODE_R”

47 –>  “KEYCODE_S”

48 –>  “KEYCODE_T”

49 –>  “KEYCODE_U”

50 –>  “KEYCODE_V”

51 –>  “KEYCODE_W”

52 –>  “KEYCODE_X”

53 –>  “KEYCODE_Y”

54 –>  “KEYCODE_Z”

55 –>  “KEYCODE_COMMA”

56 –>  “KEYCODE_PERIOD”

57 –>  “KEYCODE_ALT_LEFT”

58 –>  “KEYCODE_ALT_RIGHT”

59 –>  “KEYCODE_SHIFT_LEFT”

60 –>  “KEYCODE_SHIFT_RIGHT”

61 ->  “KEYCODE_TAB”

62 –>  “KEYCODE_SPACE”

63 –>  “KEYCODE_SYM”

64 –>  “KEYCODE_EXPLORER”

65 –>  “KEYCODE_ENVELOPE”

66 –>  “KEYCODE_ENTER”  //回车键

67 –>  “KEYCODE_DEL”

68 –>  “KEYCODE_GRAVE”

69 –>  “KEYCODE_MINUS”

70 –>  “KEYCODE_EQUALS”

71 –>  “KEYCODE_LEFT_BRACKET”

72 –>  “KEYCODE_RIGHT_BRACKET”

73 –>  “KEYCODE_BACKSLASH”

74 –>  “KEYCODE_SEMICOLON”

75 –>  “KEYCODE_APOSTROPHE”

76 –>  “KEYCODE_SLASH”

77 –>  “KEYCODE_AT”

78 –>  “KEYCODE_NUM”

79 –>  “KEYCODE_HEADSETHOOK”

80 –>  “KEYCODE_FOCUS”

81 –>  “KEYCODE_PLUS”

82 –>  “KEYCODE_MENU”

83 –>  “KEYCODE_NOTIFICATION”

84 –>  “KEYCODE_SEARCH”

原文地址:https://www.cnblogs.com/jingwei/p/10345659.html