ADB连接手机的两种方式(usb数据线连接和wifi连接)

时间:2024-02-29 12:31:43

ADB(Android Debug Bridge)安卓测试桥,它是连接电脑开发端和安卓设备的桥梁,这个安卓设备可以是真实的安卓手机或者平板,也可以是虚拟的安卓模拟器,

 
这里介绍ADB连接手机的两种方式,
 
先说USB数据线连接方式,
分三步,
第一步:把安卓设备用Usb数据线连接到电脑上(注意手机上要在设置里“开发模式”打开“USB调试功能“)
第二步:要安装ADB驱动程序,有了这个驱动,ADB才能驱动手机,下载地址通用型ADB驱动

ADB连接手机的两种方式(usb数据线连接和wifi连接)

下载后自动安装就行.
第三步:当ADB驱动被安装好后,安卓设备就自动和ADB程序连上了,这时候可以打开eclipse,切换到DDMS界面,可以看到,ADB连接手机的两种方式(usb数据线连接和wifi连接)

 

设备已经连接上了。
 
 
再说无线wifi连接,(本质上是局域网数据传输,电脑把数据给路由器,路由器再通过wifi发送给手机)
 
也是分三步走,
 
第一步:确认手机已经连接上wifi了,并且查看并记住手机的局域网IP地址,比如:192.168.1.101,这个在手机的wifi连接设置上可以看到。
第二步:给手机上下载一个“终端模拟器”这个应用,(注意,要给这个应用root权限,也就是给最高权限,这个需要在手机最高权限管理那里授权,比如,小米手机就在“安全中心”里面的“授权管理”里面授权root。)
终端模拟器拿到最高权限后,运行终端模拟器,然后输入如下图的代码,
ADB连接手机的两种方式(usb数据线连接和wifi连接)
这个代码的意思是:取得最高权限,然后设置安卓系统内核的ADBD连接服务改为无线网络连接,5555是端口号
然后关闭ADBD,然后再开启ADBD(等于做了一个重启过程)
 
第三步:这一步在电脑上操作,输入cmd,打开dos窗口,然后输入: adb connect 192.168.1.101 ,回车就好,
ADB连接手机的两种方式(usb数据线连接和wifi连接)
连接成功会显示:“connected to 192.168.1.101:5555  。
 
打开eclipse,切换到DDMS视图,就会看到已经连接好的安卓设备,
ADB连接手机的两种方式(usb数据线连接和wifi连接)
很好,又连上了,这次用的可是无线呀
 
 

adb连接手机进行调试有两种方式,一种使用USB线,一种使用无线WiFi。

 

第一种  使用USB线连接

1. 在手机上启用USB调试

2. CMD窗口输入adb devices,此时可以看到自己的设备。

PS:无法看到自己设备时,查看手机USB调试是否打开;PC端是否安装手机驱动。

 

第二种  使用无线WiFi连接

首先先了解一点底层的知识:

    Android系统底层运行着一个服务(adbd),用于响应和管理大家在电脑端的adb命令连接,这个服务在启动时会根据手机的配置监听USB连接或网络其中之一。配置的属性为:service.adb.tcp.port,也就是监听的网络端口

  • 以上属性的值 > 0:adbd将监听网络对应的端口(一般为5555)
  • 以上属性的值 <=-1:adbd将监听USB 

接下来是连接步骤:

1. 命令行输入:adb connect 172.16.4.37:5555 (:5555可省略)

    提示:unable to connect to 172.16.4.37:5555

    解决办法:

    1)手机与PC相连,执行以下命令:adb tcpip 5555

      成功提示:restarting in TCP mode port 5555

      如果手机没有和PC连接,直接使用以上命令会提示 error:device not found

      然后断开USB

    2)接着执行adb connect 172.16.4.37:5555,这时候应该就能连接成功了

      成功提示:connected to 172.16.4.37:5555

2. 输入adb devices,得到以下提示说明连接成功,可以进行各种调试了

   List of devices attached

   172.16.4.37:5555    devices

3.调试完成之后,输入如下的命令断开连接:

 adb disconnect 192.168.1.5:5555

4.最后一步,需要把监听的网络端口重置为-1,监听USB端口(好像不做这一步,直接插上USB线也能正常使用,而且这一步经常会提示could not set property,需要root权限)

    setprop service.adb.tcp.port -1

    stop adbd

    start adbd