码迷,mamicode.com
首页 > 移动开发 > 详细

Android 设备及模拟器通讯的ADB工具(一)

时间:2015-08-16 12:24:24      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:android   adb   adb-shell   adb命令   设备   

Android 设备及模拟器通讯的ADB工具(一)

标签(空格分隔): Android


adb 是 Android 开发必知必会的一个工具,它来自 sdk 包中。所有的刷机工具,应用管理工具都引用了 adb 工具。它能完成很多功能。 掌握adb的使用方法是十分重要的。adb 工具也是随着 Android sdk的更新而更新的。我们需要不断的更新对 adb 的认识。

  • adb 命令简介
  • 常用 adb 命令用法
  • 使用 adb 命令截图和录制视频

adb 命令简介

在SDK的platform-tools文件夹下包含着Android模拟器操作的重要命令ADB,ADB的全称为Android Debug Bridge,就是调试桥的作用,借助这个工具,我们可以管理设备或手机模拟器的状态


常用 adb 命令用法

  • 使用 adb 命令管理设备
  • adb 自身管理
  • 获取设备硬件信息
  • 管理设备 app
  • 进行文件操作
  • 其他命令

1. adb 命令管理设备

命令 功能
adb get-state 判断设备状态
adb devices 显示连接到计算机的设备
adb get-serialno 获取设备的序列号
adb reboot 重启设备
adb reboot bootloader 重启设备进入fastboot模式
adb reboot recovery 重启设备进入recovery模式
adb [-d|-e|-s <serialNumber> ] <command> 发送命令到指定设备

判断设备状态

> C:\Users\Administrator>adb get-state
> unknown

查看参数,主要有3个
adb get-state - prints: offline | bootloader | device

获取设备的序列号

只有一台设备的时候,可以直接获取:

> C:\Users\Administrator>adb get-serialno
> fc2f9754

连接手机后:

C:\Users\Administrator>adb devices
List of devices attached
fc2f9754        device

其中fc2f9754是指序列号
device是指设备的状态,在线

进入adb shell

C:\Users\Administrator>adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
fc2f9754        device
d51ad9ff        device

//多台设备,是无法直接获取序列号的
C:\Users\Administrator>adb get-serialno
unknown

//多台设备,无法进入
C:\Users\Administrator>adb shell
error: more than one device and emulator

C:\Users\Administrator>adb devices
List of devices attached
fc2f9754        device
d51ad9ff        device

//此时我们就可以指定序列号,进入
C:\Users\Administrator>adb -s d51ad9ff shell
shell@cancro:/ $

adb [-d|-e|-s ] 命令

当有一个模拟器和一个真实的手机连接的时候:

//进入模拟器
C:\Users\Administrator>adb -e shell

//进入手机
C:\Users\Administrator>adb -d shell

2. adb 自身管理

命令 功能
adb kill-server 终止 adb 服务进程
adb start-server 重启 adb 服务进程
adb root 以 root 权限重启 adb 服务
//启动adb服务
C:\Users\Administrator>adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *

//终止adb服务
C:\Users\Administrator>adb kill-server

//以 root 权限重启 adb 服务 
C:\Users\Administrator>adb root

3. 获取设备硬件信息

命令 功能
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 配置信息
//获取手机连接网络的mac地址
>C:\Users\Administrator>adb shell cat /sys/class/net/wlan0/address
>0c:1d:af:47:06:d5
//获取 cpu 信息
C:\Users\Administrator>adb shell cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 3 (v7l)
processor       : 0
BogoMIPS        : 38.40

processor       : 1
BogoMIPS        : 38.40

processor       : 2
BogoMIPS        : 38.40

processor       : 3
BogoMIPS        : 38.40

Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva id
ivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 3

Hardware        : Qualcomm MSM 8226 (Flattened Device Tree)
Revision        : 0000
Serial          : 0000000000000000
//获取手机属性和手机配置信息
C:\Users\Administrator>adb shell cat /system/build.prop
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=KTU84P
ro.build.display.id=KTU84P
ro.build.version.incremental=V6.3.5.0.KHICNBL
ro.build.version.sdk=19
ro.build.version.codename=REL
ro.build.version.release=4.4.4
ro.build.date=Fri Feb 13 15:19:41 CST 2015
ro.build.date.utc=1423811981
ro.build.type=user
ro.build.user=builder
ro.build.host=zc-miui-ota-bd27.bj
ro.build.tags=release-keys
ro.product.model=HM NOTE 1LTE
ro.product.brand=Xiaomi
ro.product.name=dior
ro.product.device=dior
ro.product.board=MSM8226
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
....后配置省略...
//获取 wifi 配置信息,此信息比较隐,需要权限
> C:\Users\Administrator>adb shell cat /data/misc/wifi/*.conf
> /system/bin/sh: cat: /data/misc/wifi/*.conf: Permission denied

4. 进行文件操作

命令 功能
adb shell ls mnt 查看所有设备存储设备名
adb remount 将 system 分区重新挂载为可读写分区
adb push <local> <remote> 从本地复制文件到设备
adb pull <remote> <local> 从设备复制文件到本地
adb shell ls 列出目录下的文件和文件夹
adb shell cd <folder> 进入文件夹
adb shell rm [-r] <path/filename> 删除文件(夹)
adb shell cat <file> 查看文件内容
adb shell mkdir path/foldername 新建文件夹

5. 其他命令

命令 功能
adb shell input text <content> 发送文本内容
adb shell input keyevent <keycode> 发送键盘事件
adb shell wm size 获取设备分辨率
adb shell getprop <key> 获取设备参数信息
adb shell setprop <key> <value> 设置设备参数信息

使用 adb 命令截图和录制视频 未完待续…

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 设备及模拟器通讯的ADB工具(一)

标签:android   adb   adb-shell   adb命令   设备   

原文地址:http://blog.csdn.net/fenggit/article/details/47700953

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!