如何通过TCP通过ADB连接到Android?[关闭]


879

我正在尝试在Motorola Droid上调试应用程序,但是在通过USB连接到设备时遇到了一些困难。我的开发服务器是在Hyper-V中运行的Windows 7 64位VM ,因此我无法通过客户机或主机中的USB直接连接。

我安装了两个不同的USB-over-TCP TCP解决方案,但是由于ADB监视器反复报告“ devicemonitor无法启动监视” ,因此连接似乎出现了问题。有没有一种方法可以使用网络而不是USB连接或可能的其他可行选择将开发计算机上的客户端直接连接到设备上的守护程序?


75
通过USB连接时:adb tcpip 5555。断开USB连接,从中查看电话IP Settings > About Phone > Status。现在adb connect 192.168.x.x就是这样。没有工具,没有软件。正常工作。
andreszs

1
安德鲁(Andrew)所说的-这些是Google的Android开发者网站上的官方说明,没有任何根源。刚刚在我没有根的HTC One m8上工作(当然需要启用开发人员选项。)。
杰夫·沃德

如果adb服务在端口5037上运行,那么为什么它将设备定位在5555到5585之间?
Shivam Aggarwal 2015年

@Andrew我可以使用一个应用程序,如打开并使用无根访问关闭端口无需电脑Nexus 6上?我担心在公共网络上而不使用手机进行开发时将端口5555保持打开状态可能会引起安全问题。
DaveTheMinion '16

Answers:


1205

手动处理

从设备(如果已植根)

根据xda-developers上的帖子,您可以使用以下命令从设备启用基于Wi-Fi的ADB:

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

您可以禁用它并返回ADB以通过

setprop service.adb.tcp.port -1
stop adbd
start adbd

在计算机上,如果您已经具有USB访问权限(不需要root)

如果您已经有USB,则切换到使用Wi-Fi甚至更容易。在通过USB连接设备的计算机上的命令行中,发出命令

adb tcpip 5555
adb connect 192.168.0.101:5555

确保192.168.0.101用实际分配给设备的IP地址代替。完成后,可以通过运行以下命令断开与adb tcp会话的连接:

adb disconnect 192.168.0.101:5555

您可以通过两种方式找到平板电脑的IP地址:

手动IP发现:

进入Android的WiFi设置,单击操作栏中的菜单按钮(垂直省略号),单击“ 高级”,然后在屏幕底部查看IP地址。

使用ADB发现IP:

通过adb执行以下命令:

adb shell ip -f inet addr show wlan0

告诉ADB守护程序返回通过USB监听

adb usb

自动化流程的应用程序

Google Play上还有一些可以自动执行此过程的应用程序。快速搜索建议使用adbWirelessWiFi ADBADB WiFi。所有这些都需要root访问权限,但是adbWireless需要的权限更少。


3
您需要root访问权限吗?我似乎能够使用终端运行命令,但实际上似乎不起作用...
JJ

6
@ JJ-不幸的是。需要根。
Kingsolmn 2011年

178
对于第二溶液(adb tcipip 5555adb connect ...没有必要根。
Ridcully

11
adb tcpip <port>仍然需要要么ro.kernel.qemu被设置(在仿真模式下运行)属性,ro.secure为0(即,根设备),或ro.debuggableservice.adb.root要被设置为1 adbd,如果没有上述被满足根本不会打开一个TCP / IP连接。有关该变量,请参见netmite.com/android/mydroid/system/core/adb/adb.c adb_main部分secureadbd在我的无根用户2.3.7上,Android根本不进入TCP / IP模式。
soulseekah 2012年

2
大!第二种解决方案确实不需要root!
Grzegorz D.

132

如果您的手机扎根,这真的很简单。

Google Play下载一个终端模拟器(有很多免费的)。确保您的Android设备已连接到Wi-Fi并获取Wi-Fi IP地址。打开终端程序,然后键入:

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

现在转到您的计算机(假设您使用的是Windows)并在桌面上为“ cmd.exe”创建一个快捷方式(不带引号)。

右键单击cmd快捷方式,然后选择 "Run as Administrator"

切换到您的android-sdk-windows\tools文件夹

类型:

adb connect ***wifi.ip.address***:5555

(example: adb connect 192.168.0.105:5555)

亚行现在应该说您已连接。

注意:如果您太快不能发出connect命令,则它可能会失败。因此,相隔五秒钟至少尝试两次,然后再说这不起作用。


6
这个答案对我来说更好,因为它解释了哪个部分应该在设备上执行,哪个部分应该在计算机上执行。
爱德华多

5
BEFORE “亚行TCPIP 5555” DO “亚行杀服务器”。 AFTER “亚行连接192.168.0.101:5555” DO “ADB设备” “亚壳”(连接不启动外壳)。
samis

我尝试过adb tcpip 5555,然后另一个人adb connect myIP:5555在他们的PC上执行了。他可以在我的手机上安装一个应用程序,但不能远程调试它。是否可以进行远程调试?我的手机上waiting for debugger永远都有对话。
安吉丽娜

这会使设置在重新启动后保持不变吗?
Hritik '19

是否可以通过移动互联网使用ipv6地址?
CaptainFreedom

94
  1. 通过USB连接设备并确保调试正常,然后运行:

    adb tcpip 5555
    adb connect <DEVICE_IP_ADDRESS>:5555
  2. 断开USB并继续进行无线调试。

  3. 完成后,想要切换回USB调试,请运行:

    adb -s <DEVICE_IP_ADDRESS>:5555

要查找设备的IP地址,请在设备上转到Settings > Wi-Fi > Advanced > IP Address或运行adb shell netcfg

无需root。一次只能调试一个设备。

请参阅此XDA帖子

adb命令位于platform-toolsAndroid SDK 的文件夹中。


2
实际上,如果遵循正确的顺序,则可以一次连接许多设备。只需将每部电话的tcpip分别设置为5555,然后为每部电话发出connect命令,然后将它们都连接到adb。
andreszs 2015年

如果我的手机是通过这种方式连接的,调试会稍微慢一些。此外,有时它会入睡,并导致立即断开连接。
阿隆·洛林茨

在某些设备上,adb tcpip命令和adb connect命令之间的延迟必须非常短,否则将不起作用。另外,对我来说,这样做是adb tcpip 5555 && adb connect <DEVICE_IP_ADDRESS>:5555
可行的

61

假设您将adb路径保存到Windows环境路径中

  1. 在Android中激活调试模式

  2. 通过USB连接到PC

  3. 打开命令提示符类型: adb tcpip 5555

  4. 断开平板电脑或智能手机与PC的连接

  5. 打开命令提示符类型:adb connect IPADDRESS(IPADDRESS是平板电脑或智能手机的DHCP / IP地址,您可以通过Wi-Fi->当前连接的网络找到该地址)

现在在命令提示符下,您应该看到如下结果:连接到xxx.xxx.xxx.xxx:5555


感谢您的步骤顺序,并确切提到何时断开PC连接。
Manju

53

来自adb --help

connect <host>:<port>         - Connect to a device via TCP/IP

顺便说一下,这是一个命令行选项。

您应该尝试将手机连接到Wi-Fi,然后从路由器获取其IP地址。它在蜂窝网络上不起作用。

端口是5554。


1
我曾尝试使用5555-5558和现在的5554进行尝试,但由于某种原因它不起作用。基本上从命令行执行:adb kill-server adb connect 10.10.10.100:5554,结果是*守护程序未运行。立即启动*守护进程成功启动*无法连接到10.10.10.100:5554我可以从开发工作站ping设备的IP。当输出状态为“守护程序成功启动”时,它不应该引用设备上的守护程序吗?是否有可能尝试使用模拟器?如何确保/验证守护程序正在设备上运行?谢谢
JDM 2010年

2
您应该首先adb tcpip port将默认值设置为通过USB调试。在后者之后,您可以连接connect host:port并且应该可以工作
Aiden Strydom 2013年

“ adb tcpip端口”从字面上看?只是返回字符串“错误:找不到设备”-是否有错字?还是我应该在这里更换一些东西?
BrainSlugs83

3
啊!弄清楚了,CyanogenMod的默认端口号是5555!不错。:D
BrainSlugs83

@Michael它可能在某些蜂窝网络上工作,但是它们的网络配置基本上是黑盒-您不知道何时/是否在防火墙后面,是否阻塞了端口,是否正在进行NAT转换等。
BrainSlugs83 2013年

45

对于Windows用户:

步骤1:
您必须在Android手机中启用“开发人员”选项。
您可以使用这种方式启用开发人员选项。
•打开设置>关于>软件信息>更多。
•然后点击“内部版本号”七次以启用“开发人员”选项。
•返回“设置”菜单,现在您将能够在其中看到“开发人员选项”。
•点击它,然后从下一个屏幕的菜单中打开USB调试。

第2步:

打开cmd并键入adb。
如果发现adb无效命令,则必须向环境变量添加路径。

•首先转到您的SDK安装文件夹,请
按照以下路径进行操作,此路径仅作为示例。D:\ softwares \ Development \ Andoird \ SDK \ sdk \ platform-tools \; D:\ softwares \ Development \ Andoird \ SDK \ sdk \ tools;
•现在在Windows系统高级设置上搜索

在此处输入图片说明

打开环境变量。

在此处输入图片说明

然后打开路径并粘贴以下路径,这是一个示例。
您的SDK路径与我的不同,请使用您的。D:\ softwares \ Development \ Andoird \ SDK \ sdk \ platform-tools \;
D:\ softwares \ Development \ Andoird \ SDK \ sdk \ tools;

在此处输入图片说明

第三步:

打开cmd并键入adb。如果仍然看到adb无效命令,则说明您的路径设置不正确,请按照上述步骤操作。

在此处输入图片说明

现在,您可以将android手机连接到PC了。

打开cmd并键入adb devices,您可以看到您的设备。 查找您的电话IP地址。

在此处输入图片说明

类型:-adb tcpip 5555

在此处输入图片说明

获取手机的IP地址

adb shell netcfg

现在,

adb connect "IP address of your phone"

现在运行您的android项目,如果看不到您的设备,然后再次键入adb连接手机的IP地址

在此处输入图片说明

在此处输入图片说明

对于Linux和macOS用户

步骤1:打开终端并使用安装ADB

须藤apt-get install android-tools-adb android-tools-fastboot

通过USB电缆将手机连接到PC。在终端中输入以下命令

adb tcpip 5555

使用adb,连接您的android手机ip地址。

取下手机。


36

从非根设备上的计算机

(请注意,这也可以使用有根设备进行,但是您可以在不需要USB连接的有根设备上使用外壳程序)

首先,打开命令提示符(CMD)。如果您使用Android Studio或IntelliJ,则可以使用其中包含的控制台。

如果在路径中添加了adb,则可以跳过cd部分。


如果可能,请打开SDK位置,右键单击,然后按“在此处启动命令提示符”。并非所有人都具有此选项,因此您也必须执行此(/这些)命令:

Windows:更改驱动器(如果适用)

D: 

并访问SDK和平台工具。将此路径替换为您的SDK位置:

cd /sdk/path/here/platform-tools

现在,您可以访问Android调试桥。


将设备连接到计算机后,请执行以下操作:

adb tcpip <port> 
adb connect <ip>:<port>

<port>您要连接的端口在哪里(默认为5555)和<ip>您要连接的设备的IP。

请注意:这5555是默认端口,只需写入IP地址即可连接它。如果使用自定义端口,则至少可以提高一点安全性。只能滥用通过Wi-Fi进行USB调试的情况,但前提是该设备已连接到要滥用该设备的计算机。使用非默认端口至少会使连接更加困难。

如果使用自定义端口,请确保将其添加到IP之后。不写任何端口将连接到该端口5555,如果不使用该端口,则连接将失败。

您可以通过两种方式找到设备的IP地址:

  • 取决于您的设备,确切名称可能会有所不同。打开设置并转到关于设备 -> 状态 -> IP地址

  • 使用亚行获取IP

在控制台中,执行以下操作:

adb shell ip -f inet addr show wlan0

连接完成后,您可以通过以下操作将设备与计算机断开连接:

adb disconnect <ip>:<port>

或没有IP断开所有设备的连接。如果使用了自定义端口,则必须指定要从断开连接的端口。这里的默认值也是5555。

要禁用端口(如果要这样做),请在连接的设备上执行以下命令:

adb usb

或者您可以重新启动设备以删除tcpip连接

从有根设备上的计算机

首先,您需要访问外壳。您可以使用USB电缆连接设备并使用adb shell或从Google Play,FDroid或其他来源下载应用程序。

然后,您执行以下操作:

su
setprop service.adb.tcp.port <port>
stop adbd
start adbd

要连接设备,请执行非root版本中的操作adb connect <ip>:<port>

如果要禁用端口并返回USB监听,请执行以下操作:

setprop service.adb.tcp.port -1
stop adbd
start adbd

您还可以使用Android Studio插件为您完成操作(现在不记得该名称了),对于具有root用户的用户,还可以选择下载Android应用程序以建立电话连接(可能仍然需要adb connect) )。

某些电话在开发人员选项中有一个设置(这适用于某些非root用户的电话,尽管可能也适用于某些 root用户的电话),该设置允许从设备本身切换通过Wi-Fi的ADB,而无需root用户或计算机连接来启动它。虽然很少有手机


adb shell ip -f inet addr show wlan0 是否可以在某处替换IP地址和端口支持?
迈克尔(Michael

不在那条线。这就是获取IP的途径。该行中的任何内容都不应替换
Zoe

33

我需要得到两个 USB和TCPIP的工作ADB(不要问),所以我做了以下(使用方向其他人从XDA开发转贴)

使用adb shell

su
#Set the port number for adbd
setprop service.adb.tcp.port 5555

#Run the adbd daemon *again* instead of doing stop/start, so there
#are two instances of adbd running.
adbd &

#Set the port back to USB, so the next time ADB is started it's
#on USB again.
setprop service.adb.tcp.port -1

exit

无效:找不到adbd。通常通过启动adbd启动adbd。但也许某个文件夹中有一个脚本/可执行文件?
KrisWebDev

1
在我的gnex上是/sbin/adbd。这可能因电话而异。当然,您必须是root用户...如果您不是root用户,则将无法访问/ sbin。
晶体管

32

使用TCP端口连接平板电脑。确保您的系统和设备连接到同一网络。

  1. 打开控制台cmd.exe
  2. 类型 adb tcpip 5555
  3. 转到系统->开发选项-> USB调试 ->取消选中TCPIP连接
  4. 输入adb connect 192.168.1.2这是您的设备IP地址
  5. 连接到192.168.1.2

使用端口转发连接 尝试做端口转发,

adb转发tcp:<PC port>tcp:<device port>

喜欢:

亚行转发tcp:5555 tcp:5555。

C:\ Users \ abc> adb转发tcp:7612 tcp:7612

C:\ Users \ abc> adb tcpip 7612在TCP模式下重新启动端口:7612

C:\ Users \ abc> adb connect 10.0.0.1:7612

已连接至10.0.0.1:7612

如果收到消息错误:找不到设备,则将USB设备连接到系统,然后执行相同的步骤。
对于有根设备

setprop service.adb.tcp.port 5555
stop adbd
start adbd

2
在控制台中,su首先编写以获取根控制台。
Grim

30

我根本不知道如何在没有任何USB连接的情况下连接设备,但是如果您设法在另一台计算机上进行连接,则可以通过发出以下命令将adbd切换为TCP模式

adb tcpip <port>

从终端,并通过以下方式从网络上的任何PC通过wifi连接到您的设备:

adb connect <ip>:<port>

也许也可以从设备上的终端切换到TCP模式。


在所有获得广泛赞誉的复杂答案中,这位8岁的孩子回答他的最简单且最有效的方法是无需生根。只需键入“ adb connect <ip>:5555”,即可将其部署到其中。
RogerW

29

首先,您必须通过USB连接设备

然后将您的设备连接到WIFI并获取IP地址。在仍然通过USB连接的情况下,在命令行或Android Studio Terminal中键入

adb tcpip 5555
adb connect <device IP>:5555

您将看到以下消息:

restarting in TCP mode port: 5555
connected to 172.11.0.16:5555

现在拔下USB电缆,您仍然会看到您的logcat正常

做完了 请享用


这工作了。然而。执行完这些步骤后,我将无法再切换回仿真器。有什么建议吗?
蒂姆·斯科特

您需要使用以下命令重新启动adb:<adb kill-server>,然后<adb start-server>
Joolah's

21

如果您想轻松地连接设备以通过WiFi运行,调试或部署Android应用,则可以使用我开发的开源IntelliJ插件。是代码,这里是可以使用的插件。

用法很简单。在这里,您有一个gif:

在此处输入图片说明


这个错误occures:“'adb'command没有发现检查你的Android SDK安装。
rostamiani

1
您必须声明一个名称为ANDROID_HOME的环境变量。但是我有一个PR待审核,以免发生这种情况。我将在下周发布的1.2版本中,该插件将仅在安装IntelliJ的情况下起作用:)
Pedro VicenteGómezSánchez2015年

我正在使用mac,在AS中看不到图标吗?我需要先手动做些事情吗?
powder366 2015年

1
我已经发布了一个新版本,其中不再需要ANDROID_HOME环境变量。@ powder366,您需要从IntelliJ插件商店中手动安装插件。安装和使用该插件所需的所有说明均在项目自述文件中,请查看github.com/pedrovgs/AndroidWiFiADB
Pedro VicenteGómezSánchez

@PedroVicenteGómezSánchez谢谢。我选择了错误的插件,存在另一个具有类似名称的插件...
powder366 2015年

11

正如布赖恩所说:

根据xda-developers上的帖子,您可以使用以下命令从设备启用通过WiFi的ADB

setprop service.adb.tcp.port 5555

停止adbd

启动adbd

您可以禁用它并返回ADB以通过

setprop service.adb.tcp.port -1

停止adbd

启动adbd

如果您已经可以使用USB,则切换为使用WiFi甚至更容易。在通过USB连接设备的计算机上的命令行中,发出命令

亚行tcpip 5555

亚行连接192.168.0.101:5555

告诉ADB守护程序返回通过USB监听

亚行USB

Android Market上还有一些可以自动执行此过程的应用程序。

它有效。您只需要访问android shell并键入这些命令...

市场上还有一个更简便的解决方案:adbWireless,它将自动设置您的手机。

根是必需的!对彼此而言...


2
...但仅限于手机已扎根时。
android.weasel 2012年

Asus Transformer 301-无需root用户即可工作
Aiden Strydom 2013年

9
adb tcpip 5555

很奇怪,但这仅对我有效,如果我连接了USB电缆,那么我可以拔下USB并使用其他所有adb进行操作。

返回USB时也一样

adb usb

仅当连接了USB时才能工作。

我签发这都没关系

setprop service.adb.tcp.port 5555

要么

setprop service.adb.tcp.port -1

然后停止并启动adbd,我仍然需要插入USB电缆,否则它将无法正常工作。

因此,如果我通过USB的ADB无法正常工作,我敢打赌我也将无法启用WiFi上的ADB。


8

要仅通过一个命令在TCP和USB模式之间切换,您可以将其添加到/init.rc

on property:service.adb.tcp.port=*
    restart adbd

on property:service.adb.tcp.enable=1
    setprop service.adb.tcp.port 5555

on property:service.adb.tcp.enable=0
    setprop service.adb.tcp.port -1

现在,您可以使用property service.adb.tcp.enable启用或禁用端口5555上netstat的侦听。运行以检查其是否在侦听。如您所见,如果您希望service.adb.tcp.port手动更改,它也会触发。


8

Bash util函数:

function adb-connect-to-wifi {
    ip="$(adb shell ip route | awk '{print $9}')"
    port=5555
    adb tcpip ${port}
    adb connect ${ip}:${port}
}

7

步骤1。

确保双方的ADB主机和Android设备是同一WiFi网络。

第2步。

使用USB电缆将Android设备与计算机连接。一旦这样做,您的主机计算机将检测到您的设备,并且adb将开始在计算机上以USB模式运行。您可以使用来检查连接的设备,adb devices而通过执行来确保adb在USB模式下运行adb usb

$ adb usb
restarting in USB mode
$ adb devices
List of devices attached
ZX1D63HX9R  device


步骤3。

使用以下命令以tcpip模式重新启动adb:

$ adb tcpip 5556
restarting in TCP mode port: 5556


第四步。

找出Android设备的IP地址。有几种方法可以做到这一点:

  • 方式:1转到设置->关于手机/平板电脑->状态-> IP地址。
  • 方式:2转到可用的Wi-fi网络列表。您所连接的那个,点击它并了解您的IP。
  • 方式:3试试$ adb shell netcfg

现在您知道设备的IP地址,将adb主机连接到它。

$ adb connect 192.168.0.102:5556
already connected to 192.168.0.102:5556
$ adb devices
List of devices attached
ZX1D63HX9R  device
192.168.0.102:5556  device


步骤5。

拔下USB电缆,您应该已连接到设备。如果看不到它,adb devices则使用上一步的命令重新连接:

$ adb connect 192.168.0.102:5556
connected to 192.168.0.102:5556
$ adb devices
List of devices attached
192.168.0.102:5556  device

您现在就可以这样做了,或者您需要通过执行adb kill-server并再次执行所有步骤来终止adb服务器。

希望有帮助!


参考:


另外,您可以在Unix上使用此脚本获取设备的IP:adb shell ip -f inet addr show wlan0 | grep inet | echo -n $(grep -Eo'[0-9 \。\ /]')| echo -n $(grep -Eo'^ [^ \ /] *')| SED的/ // G'
ahsan.dev

@Eddy有人怀疑系统和手机/平板电脑都必须通过WiFi进行连接,还是通过局域网和使用同一网络的WIFi路由器连接的平板电脑进行连接的系统。请澄清一下
iSrinivasan16年6

@ i-Droid我不知道为什么两者都必须在同一网络中连接。也许亚行使用特殊的网络路由协议。我不知道,也没有深入的研究。如果您对此有兴趣,欢迎澄清并与我分享,谢谢!
艾迪(Eddy)

6

这些是我遵循的步骤,对我有用

  1. adb shell ifconfig(从此处获取设备的IP地址)

  2. adb tcpip 7777(将adb连接到某个端口)

  3. 亚行连接“ ipaddress”:7777


5

您也可以使用SSH本地端口转发。但是它仍然涉及USB电缆。使用USB将手机连接到运行sshd的计算机(主机)。在远程(来宾)PC上,启动能够进行端口转发/隧道化的SSH客户端。例:

plink -L 5037:localhost:5037 <host_IP_address>

我使用此构造将设备连接到虚拟机。Eltima USB到以太网不够稳定(调试期间超时)。

SSH隧道是免费的,并且更可靠。


4

我发现其他答案令人困惑。使用adbWireless简单得多:

http://ppareit.github.com/AdbConnect/

只需在手机上安装一个应用程序即可切换wifi调试,然后安装eclipse插件即可。


您指的是什么eclipse插件?编辑:没关系。通过点击答案中的链接找到它。
ArtOfWarfare 2012年

虽然这只是根源
Zoe

3

我整理了一个批处理文件,用于通过TCP自动启用ADB并将其连接到通过USB连接的设备。有了它,您不必手动输入IP。

@echo off
setlocal

REM Use a default env variable to find adb if possible
if NOT "%AndroidSDK%" == "" set PATH=%PATH%;%AndroidSDK%\platform-tools

REM If off is first parameter then we turn off the tcp connection.
if "%1%" == "off" goto off

REM Set vars
set port=%1
set int=%2
if "%port%" == "" set port=5557
if "%int%" == "" set int=wlan0

REM Enable TCP
adb -d wait-for-device tcpip %port%

REM Get IP Address from device
set shellCmd="ip addr show %int% | grep 'inet [0-9]{1,3}(\.[0-9]{1,3}){3}' -oE | grep '[0-9]{1,3}(\.[0-9]{1,3}){3}' -oE"
for /f %%i in ('adb wait-for-device shell %shellCmd%') do set IP=%%i

REM Connect ADB to device
adb connect %IP%:%port%

goto end

:fail
echo adbWifi [port] [interface]
echo adbWifi off
goto end

:off
adb wait-for-device usb

:end

3

这是Brian使用蓝牙的答案的扩展:

  1. 在Linux上,使用Blueman通过蓝牙与您的设备共享PC互联网:

    $ sudo apt-get install blueman
    $ blueman-manager
    Pair them: Search devices after enabling Bluetooth
    on your phone and making it visible
    $ blueman-services
    Network > [X] Network Access Point (NAP)
    Your Phone > Settings > Bluetooth > Paired Device > [X] Internet access
  2. 将蓝牙网络用于ADB命令:

    $ adb tcpip 5555
    $ adb connect $(adb shell ip -f inet addr show bt-pan | egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n1):5555

完成后返回USB模式:

$ adb disconnect
$ adb usb

注意:蓝牙3.0和4.0最高可以达到24 Mbit / s


3

脚步 :

  1. su -切换为超级用户。
  2. setprop service.adb.tcp.port 5555 -指定tcp端口-5555是此处的端口号
  3. stop adbd -停止adbd服务。
  4. start adbd -启动adbd服务。

这与ssh我的Windows PC 完美搭配

我尝试在我的cyanogen移动设备上启动时执行此操作,或使用plink启动它。使用plink时,我无法使用su权限启动shell ... sudo或su命令不起作用。在启动时,我不知道它是如何工作的!我的shell程序从ssh一起su -c "sh /storage/sdcard1/start_adb.sh"使用最后3个命令(不带su-)

谢谢


2

另一注(以艰难的方式学习):您不应同时激活公司的VPN连接...


2

您需要执行以下操作:

  • 首先,将ADB添加到您的环境路径。
  • 从您的CLI键入以下命令adb connect YOUR_DEVICE_IP:PORT_NUMBER(例如adb connect 192.168.100.100:5555

2

通过TCP将Android设备与ADB连接有两种方法?

第一种方式

请遵循以下步骤

首先使用以下命令获取您的设备IP地址

adb shell ifconfig

以上命令的输出

wlan0     Link encap:UNSPEC    Driver icnss
          inet addr:XXX.XXX.X.XX  Bcast:XXX.XXX.X.XXX

通过上面的“您帮助”命令,您将找到所连接设备的IP地址

现在使用以下命令

adb tcpip 5555

上面的命令将重新启动此TCP端口:5555

现在使用以下命令连接设备

adb connect XXX.XXX.X.XXX:5555
            ^^^ ^^^ ^ ^^^
        IP Address of device

第二种方式

您可以使用Android Studio插件 Android device with ADB

Android WiFi ADB-IntelliJ / Android Studio插件

创建IntelliJ和Android Studio插件可通过WiFi快速连接您的Android设备,以在不连接USB的情况下安装,运行和调试应用程序。按下一个按钮,忘掉USB电缆

请检查本文以获取更多信息

在Android Studio中将Android设备与Wifi连接



1

使用adbwireless应用启用电话,然后使用Windows计算机上的adb connect与之通话。手机上的adbwireless应用会告诉您如何连接到它,并提供IP地址和所有内容。

有趣的替代方法是通过USB连接,告诉电话通过adb tcpip 5555使用TCPIP,然后断开USB,然后使用adb connect。这要困难得多,因为这样您就必须自己弄清楚电话的IP地址(adbwireless告诉您IP),必须通过USB连接,并且必须运行adb tcpip(adbwireless也会解决这一问题)。

因此:在手机上安装adbwireless。用它。有可能,我会在Linux和Windows上定期执行此操作。


1

在我的系统上,它像这样:

在Linux Shell中的Android设备上,一个简单的“ ifconfig”没有提供我的IP地址。我必须输入:

ifconfig eth0

-要么-

netcfg

获取我的IP地址。(我知道eth0已配置,因为我在dmesg中看到了它。)然后我做了:

setprop service.adb.tcp.port -1

停止adbd

启动adbd

然后在我的Win7机器(运行Eclipse 3.7.1的机器)上。我打开命令提示符

\ android-sdk \ platform-tools>

无需以管理员身份运行。然后我做了一个

亚行连接12.345.678.90

我从没放过港口。如果我做了一个

亚行tcpip 5555

它说找不到设备,因此在我的“ adb设备”列表中什么也没出现。即,仅当我不执行上述tcpip命令时,它才有效。

我可以做一个“ adb shell”,并弄乱我的Android设备。但是我的Android设备现在没有出现在“运行”->“运行配置”->“目标”选项卡中。另一方面,如果我将“目标”选项卡设置为自动。然后,当我通过Run-> Run运行我的应用程序时,即使我的Android设备甚至没有被列为我的目标之一,它也可以在我的Android设备上运行。


1

我确实做到了这一点。没有使用任何USB电缆。

  • 应用adb无线。
  • 运行。这将设置ip和port;然后在DOS

    cd C:\Program Files\Android\android-sdk\platform-tools adb connect "192.168.2.22:8000 "enter"

连接的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.