文章摘要:
本文参考相关博客和文档,学习的同时也总结下。介绍adb基本知识,涉及到常用的几个命令,如adb shell、adb locat等。同时也介绍一下自己碰到的相关问题。
1、adb(Android Debug Bridge)
1.1 adb起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket
TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口(5037),所以当我们运行Eclipse时adb进程就会自动运行。
1.2 adb是一个 客户端-服务器端
程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.由三部分组成:
1)adb
client, 运行在PC上(为DDMS,即IDE工作)
2) adb
daemon(守护进程),运行于Emulator(为与Emulator中的VM交互工作)
3)adb server(服务进程),运行在PC(任务管理器上有),管理着adb client和adb daemon的通信
1.3 adb是Android SDK里的一个工具,
用这个工具可以直接操作管理android模拟器或者真实的android设备(手机、平板). 它的主要功能有:
1)运行设备的shell(命令行)
2)管理模拟器或设备的端口映射
3) 计算机和设备之间上传/下载文件
4)将本地apk软件安装至模拟器或android设备
2、adb 命令
1)adb devices
查看连接设备,包含模拟器和真机
2)adb shell
进入连接的设备,如有root权限,可以对相关文件进行操作。Android系统内核是linux,在其中可使用大部分的
Linux命令
3)adb push
如:adb push yourfile.txt system/adsdcard/file
意思是把当前电脑上的文件(yourfile.txt)放到 system/adsdcard/file
目录下。此命令也可以安装apk
4) adb pull
如:adb pull system/adsdcard/file/yourfile.txt D:\logfile
意思是把设备system/adsdcard/file/目录下的yourfile.txt
文件 复制到 电脑D:\logfile目录下
5)adb
install
安装apk。在后面加 参数 “-r”,可以强行安装已经安装过的软件。
6)adb unistall
卸载设备上的软件。如果有root权限,进入到要安装目录可以使用rm -rf的命令来删除系统软件。
7)adb logcat
如:adb logcat -v time > d:/logfile/logtest.log
意思是把级别为v及以上级别的日志加上时间戳,并导出到d:/logfile目录下的logtest.log日志文件中
8)adb start-server
启动adb服务
9)adb kill-server
关闭adb服务
3、问题
1)描述
Android开发环境搭建好,编译时显示无法连接上设备,然后一直attemping...
2)分析
adb server没有开启,则可以使用adb start-server。还有原因是在自己连接网络形式(家庭、工作、公共场合) 的时候,选择了打开防火墙。此时adb server通信端口5037被占用,导致无法通信,从而不能连接。
3)解决
控制面板\所有控制面板项\Windows 防火墙 中设置,关闭防火墙