欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用android adb命令详解实例

程序员文章站 2022-03-27 21:38:45
adb(Android Debug Bridge)是android sdk里的一个工具,就是起到调试桥的作用,用这个工具可以直接操作管理android模拟器或者真实的andriod设备(手机),通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。adb作用...

adb(Android Debug Bridge)是android sdk里的一个工具,就是起到调试桥的作用,用这个工具可以直接操作管理android模拟器或者真实的andriod设备(手机),通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。

adb作用

  • 运行设备的shell(命令行)
  • 管理模拟器或设备的端口映射
  • 计算机和设备之间上传/下载文件
  • 将本地apk软件安装至模拟器或android设备
  • 通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等

adb安装

ADB是一个客户端-服务器端程序,其中客户端是你用来操作的电脑,服务器端是android设备。先说安装方法,电脑上需要安装客户端。客户端包含在SDK里。设备上不需要安装,只需要在手机上打开选项-设置-应用程序-USB调试(4.0+:设备-开发人员选项)。adb有各个系统的版本:Liunx,Mac,Windows,根据你自己的操作系统来选择要下载的Android SDK就可以使用adb命令了。

adb命令使用格式

adb [-d|-e|-s <serialNumber>] <command>

adb是必须的,接下来方括号[]里面的内容不是必须的,最后才是我们需要执行的命令操作,例如 adb -s emulator-5554 install qq.apk (这是安装QQ的意思)

下面先介绍下,前面几个参数的含义吧:

  -d: 让唯一连接到该PC端的真实安卓设备执行命令,如果发现USB中连接有多部设备,将会报错

  -e: 让唯一连接到该PC端的模拟器执行命令,如果发现开启了多个模拟器,将会报错

  -s:通过设备的序列号进行指定设备执行命令

如果设备只连接有一个设备或者一个模拟器的时候,可以不用声明这三个参数,adb默认会让这部唯一连接到的设备进行命令执行。

adb常用命令

1) 查看当前PC端连接有多少设备:

adb devices

返回:

> adb devices
List of devices attached
emulator-5554   device
127.0.0.1:5555  offline
127.0.0.1:5561  device

我们看到了设备有的两种状态,其实执行该命令,可能返回的状态有三种:

 1. device 设备已经成功连接到了adb-server

  2. offline 设备并没有连接到adb或者没有响应

  3. no device 并没有设备/模拟器连接
2) 查看adb的版本

adb version

返回:

> adb version
Android Debug Bridge version 1.0.31

3)重启机器

 adb reboot

4)重启到bootloader,即刷机模式

 adb reboot bootloader

5)重启到recovery,即恢复模式

 adb reboot recovery

重启有三种方式:
直接重启设备回到使用界面adb reboot即可
重启设备到bootloader引导模式:adb reboot-bootloader或adb reboot bootloader
重启到recovery刷机模式:adb reboot recovery
6)查看log

 adb logcat

7)终止adb服务进程

  adb kill-server

这样可以关闭adb服务进程,有时正在使用adb,然后想删除adb,那这时你得先关闭进程才了删除,就要用到它了。
8)重启adb服务进程

     adb start-server

使用adb devices命令时就已经自动开启了。
9)显示帮助信息

  adb help

10)获取设备的连接状态

  adb -s <serialNumber> get-state

返回设备状态,有三种结果:关机,引导模式,设备在线
11)获取连接到的手机的序列号

  adb get-serialno

返回设备序列号SN值
12)获取设备的ROOT权限

adb remount

通过这个命令就可以获取设备的ROOT权限,可以通过adb操作/system等系统目录,如

  adb push xx.app /system/app

即可将app应用直接放入系统目录。这个操作必须机子已解锁并ROOT过。
13)给指定设备安装apk

adb install [-r] [-s]
这个命令将指定的apk文件安装到设备上.
-r 强制安装(在某些情况下可以已有些应用程序在运行或不可写,可加上此参数强制安装)
-s 将apk文件安装在SD-Card
adb -s <serialNumber> install <path-to-apk>
eg:
adb -s emulator-5554 install D://511yj.apk

除了上面这种方法,我们还有另外一个命令:

adb -s <serialNumber> shell pm install [options] <PATH>

其中[options]中最常用的选项是-r,代表着本次安装是重新安装,会保留用户数据。
14)卸载设备中已经安装的软件apk

adb uninstall [-k] <软件名>

如果加 -k 参数,为卸载软件但是保留配置和缓存文件.

adb -s <serialNumber> uninstall <pkg_name>
eg:
adb -s 99eb07a9 uninstall cn.uc.511yj

除了上面这种方法,我们还有另外一个命令:

adb -s <serialNumber> uninstall [options] <PACKAGE>

这里的options是-k,加上该参数表明卸载软件后依旧保留用户数据
15)电脑上的文件或文件夹传到模拟器里面

adb push <本地路径> <远程路径>
adb -s <serialNumber>push <local> <remote>

用push命令可以把本机电脑上的文件或者文件夹复制到模拟设备或手机

adb -s emulator-5554 push d:/511yj.avi  /mnt/

把本地D盘根目录下的511yj.avi 复制到 模拟设备/mnt/
16)模拟器里面的文件或文件夹传到电脑上

adb pull <远程路径> <本地路径>
adb -s <serialNumber>pull <remote> <local>
adb -s emulator-5554 push /sdcard/511yj-ls D://

执行后我们发现本地D盘根目录下有了511yj-ls文件
17)等待设备连接成功

adb wait-for-device

该命令将会阻塞一直到默认连接的那部机器状态变为device,也就是连接成功。

原文:认识使用android adb命令详解实例

本文地址:https://blog.csdn.net/zcp528/article/details/107480130