Adb总结

ADB是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse,AS中方面通过DDMS来调试Android程序,说白了就是debug工具。ADB的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下ADB会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。

 ADB有什么用?:借助ADB工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,ADB就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。

 

  • ADB有线连接手机Device,这个很简单插上数据线即可。
  • ADB无线局域网,连接手机Devic。
  1. 手机下载一个ADB调试软件,随便都行,手机需要Root。
  2. 打开软件,开启端口,一般默认开启5555端口。
  3. 在电脑上CMD/Shell输入命令显示下图即可连接。
adb connect 192.168.31.244

 

  1. adb  shell    会进入linux命令行界面。
  2. adb  pull           获取手机中的文件。
  3. adb  push         向手机中发送文件。   adb push test.txt /tmp/test.txt 
  4. adb root            获取Root权限。
  5. adb devices      查看当前连接的设备。
  6. adb reboot        重启手机

安装一个apk:

  • adb install demo.apk
  • 保留数据和缓存文件,重新安装apk:

    adb install -r demo.apk

  • 安装apk到sd卡:

    adb install -s demo.apk

 卸载:

  • adb uninstall <package>
  • adb uninstall com.ONDragon.Demo
  • 卸载 app 但保留数据和缓存文件:

    adb uninstall -k com.stormzhang.demo

 端口转发配合调试:

  • adb forward tcp:5555 tcp:8000    端口转发(电脑ADB连接手机的5555端口,转发一下到8000,意思是只要连接本电脑的8000端口就是在连接手机5555端口)。

启动关闭程序:

  •  adb shell am start -n 包名/包名+类名。
  •  adb shell am start -n com.android.camera。
  • adb shell am force-stop <packagename>    强制关闭程序
  •  db shell am force-stop cn.ONDragon.demo

 启动/停止 Server

  • 一般来说,下面两个命令基本不会用到,因为只要设备连接正确,会自动启动 adb server 的,不过大家也需要知道这俩命令:

启动 adb server :

  • adb start-server

停止 adb server :

  • adb kill-server

 

 ADB shell am /pm:

不带任何选项:列出所有的应用的包名。

  • adb shell pm list package

-s:列出系统应用

  • adb shell pm list package -s 

-3:列出第三方应用

  • adb shell pm list package -3

 

-f:列出应用包名及对应的apk名及存放位置

  • adb shell pm list package -f

 

-i:列出应用包名及其安装来源,结果显示例子:

  • package:com.zhihu.android installer=com.xiaomi.market
  • adb shell pm list package -i

 

 input:

  • input text , 发送文本内容,不能发送中文
  • adb shell input text test123456
  • nput keyevent , 发送按键事件,KeyEvent.java。

    adb shell input keyevent KEYCODE_HOME

    模拟按下 Home 键 ,源码里面有定义:

    public static final int KEYCODE_HOME = 3;

    因此可以将命令中的 KEYCODE_HOME 替换为 3

  • input tap , 对屏幕发送一个触摸事件

    adb shell input tap 500 500

    点击屏幕上坐标为 500 500 的位置

  • input swipe , 滑动事件

    adb shell input swipe 900 500 100 500

    从右往左滑动屏幕

    如果版本不低于 4.4 , 可以模拟长按事件

    adb shell input swipe 500 500 501 501 2000

    其实就是在小的距离内,在较长的持续时间内进行滑动,最后表现出来的结果就是长按动作

 

 screencap:

截图命令

adb shell screencap -p /sdcard/screen.png

截屏,保存至 sdcard 目录

screenrecord 

adb shell screenrecord sdcard/record.mp4

执行命令后操作手机,ctrl + c 结束录制,录制结果保存至 sdcard

posted @ 2017-05-11 17:13  DeeLMind  阅读(248)  评论(0编辑  收藏  举报