目的
为了释放出USB口, 而使用网线进行软件调试.
进入命令行 adb shell
如果adb已经加入环境变量中, 并且设备的adbd已开启, 那么, windows在cmd下输入adb shell可进入设备的shell模式. shell模式下可进行用户设备上的一些操作, 如setprop.
文章一 adb环境
对Android比较熟悉的开发人员,对adb通过USB(USB连接Android设备)调试Android设备应该不会陌生,因为大部分资料都是这样做的。但是假如你的 Android设备没有USB口,只有网口,能不能调试呢?(比如移植过程中通过NFS启动的Android系统,再比如你的设备上面USB设备匮乏。)答案是肯定的。本文我将以我最近的经验,介绍一下adb怎样通过tcp/ip来调试Android设备。
adb早期版本只能通过USB来对设备调试,从adb v1.0.25开始,增加了对通过tcp/ip调试Android设备的功能。
如果你想adb通过tcp/ip来调试设备,必须要满足如下条件:
1、设备上面首先要有网口。没有网口,那就是“巧妇难为无米之炊”了。
2、设备和研发机(PC机)已经接入局域网,并且设备设有局域网的IP地址。
3、要确保研发机和设备能够相互ping得通。
4、研发机已经安装了Android SDK(要确保SDK版本是2.0之后的版本)。(确保有相应的环境变量,adb在sdk的platform-tools目录下,所以要将platform-tools所在地路径加入path环境变量中)
5、检查研发机上的adb的版本,是否是1.0.25之后的版本。方法就是在cmd(windows)或者shell(linux)中敲入adb,回车,显示帮助,第一行就是adb版本信息。
6、确保Android设备中adbd进程(adb的后台进程)已经运行。adbd进程将会监听端口5555来进行adb连接调试。
本文假设设备的ip为192.168.1.5,下文将会用这个IP建立adb连接,并调试设备。
1、首先Android设备需要先启动,如果可以话,可以确保一下adbd启动。
2、在研发机的cmd中,输入:
adb connect 192.168.1.5:5555
如果连接成功会进行相关的提示,如果失败的话,可以先kill-server命令,然后重试连接。
adb kill-server
3、如果连接已经建立,在研发机中,可以输入adb相关的命令进行调试了。比如adb shell,将会通过tcp/ip连接设备上面。和USB调试是一样的。这里就不多说了。
4、调试完成之后,在研发机上面输入如下的命令断开连接:
adb disconnect 192.168.1.5:5555
这样就通过TCP/IP完成了对Android设备的调试工作了,希望对大家有所帮助。如有错误的地方,请不吝指教。
下面通过学校开发板sep6200介绍下:首先查看板子静态ip地址,在kernel/root/init.djstjava.sh脚本中,如下
#!/system/bin/sh
ifconfig eth0 172.20.106.149 netmask255.255.255.0 up
route add default gw172.20.106.146 dev etho
上面脚本中172.20.106.149为板子ip,172.20.106.146为pc机ip。
启动android后,在pc终端输入adb connect 172.20.106.149,连接成功后输入adb shell即可。
文章二 设置adbd监听端口
Android的 adb服务默认情况下监听USB,一般我们在开发中是通过USB连接到目标机上。但是如果目标机只有一个USB口,我们又需要把这个USB用于其它目的 (比如用于OTG口插U盘)的时候怎么办?其实adb是支持通过网络访问的,在需要的时候,只需按下列步骤操作即可通过网络连接adb服务。
(1)首先还是正常地通过USB连接目标机,在windows cmd下执行adb shell进入
(2)设置adb监听端口: #setprop service.adb.tcp.port 5555
(3)通过ps命令查找adbd的pid
(4)重启adbd#kill -9<pid>,这个pid就是上一步找到那个pid
杀死adbd之后,android的init进程后自动重启adbd。adbd重启后,发现设置了service.adb.tcp.port,就会自动改为监听网络请求(这时就不能通过USB连上去了)。这时需要在开发主机上通过下列命令连接到目标机:
adb connect<ip>:<port>www.2cto.com
这个ip是你目标机的IP地址,port是上面第2步设置的端口号(上面的例子中设的是5555,当然你也可以改成其它值)。
这之后就可能正常进行软件调试了。这时USB接口已经空出来可以作为他用了。
文章三
要用网络调试Android需要设备已经获取root权限
如果手机没有命令行工具,就先用usb线连接,输入命令:
$su
#stop adbd
#setprop service.adb.tcp.port 5555
#start adbd
adb命令:
#adb connect <手机ip地址(端口默认是5555)>
这时手机已经和电脑连上了,用adb devices看看有没有连上手机,如果没有就adb kill-server后重新connect
可以直接用eclipse中的DDMS窗口对手机进行调试
如果需要进入adb shell,直接在命令行输入adb shell
关闭网络调试也很简单,在手机命令中输入命令:
$su
#stop adbd
#setprop service.adb.tcp.port 0
#start adbd
总结 adb网络调试总结
adb网络调试总结:
ADB网络调试.
可行. 但是重启后又要重新来.
方法是在USB调试模式下, 在cmd命令提示符下输入adbshell
#setprop service.adb.tcp.port 5555
#ps
#kill (adbd pid)
cmd下
adb connect 192.168.30.78:5555
OOOKKK