通过Wi-Fi运行/安装/调试Android应用程序?

Naf*_*Kay 940 debugging android adb wifi

我认为有一种方法可以通过Wi-Fi测试您的应用程序.这可能吗?

我希望能够取消我的手机并进行无线开发.

use*_*4ce 1604

查看论坛帖子没有root的任何方式远程查看Android屏幕?- 帖子#9.

  1. 通过USB连接设备,确保调试正常;
  2. adb tcpip 5555.这使设备开始侦听端口5555上的连接;
  3. 查找设备的IP地址与adb shell netcfgadb shell ifconfig有6.0及更高版本;
  4. 您现在可以断开USB连接;
  5. adb connect <DEVICE_IP_ADDRESS>:5555.这将连接到我们在步骤2中在设备上设置的服务器;
  6. 现在,您可以通过网络使用设备,可以像往常一样进行调试.

要将服务器切换回USB模式,请运行adb usb,这会将手机上的服务器恢复为USB模式.如果您有多个设备,则可以使用以下-s选项指定设备:adb -s <DEVICE_IP_ADDRESS>:5555 usb.

不需要root!

要查找设备的IP地址:运行adb shell然后netcfg.你会在那里看到它.要在使用OSX时查找IP地址,请运行该命令adb shell ip route.


警告:启用该选项是危险的,即使您在数据网络中,网络中的任何人都可以在调试中连接到您的设备.仅在连接到受信任的Wi-Fi时执行此操作并记得在完成后断开连接!


@Sergei建议修改第2行,注释:"当另一个连接持续存在时,需要连接到USB设备的-d选项(例如,连接仿真器或其他Wi-Fi设备)".

这些信息可能对未来的读者有价值,但我回滚到收到178个赞成票的原始版本.


在某些设备上,即使您没有USB电缆,也可以做同样的事情:

  1. 在开发人员设置中通过网络启用ADB 屏幕截图显示选项 它应该显示IP地址
  2. adb connect <DEVICE_IP_ADDRESS>:5555
  3. 完成后禁用该设置

使用Android Studio有一个插件,允许您连接USB调试,而无需使用终端的任何ADB命令.

  • 我在调试选项中没有"ADB over network"选项. (58认同)
  • 我不得不做'adb connect <device_ip_address>:5555'****断开USB后使其工作 (28认同)
  • 这需要在第一步使用adb over usb.是否存在非ro​​ot设备方式来切换adb以侦听tcpip,或者是setprop service.adb.tcp.port是唯一的方法吗? (9认同)
  • 键入'adb tcpip 5555'正在阻止终端.这是预期的吗?我等了大约5分钟. (4认同)
  • 要查找设备的IP地址,您还可以执行以下操作:**$ adb shell ip route** (4认同)
  • 你为什么使用`.adb shell`反对'adb shell`?前者不执行我的机器. (3认同)
  • 从Android 6.0开始,netcfg不可用,需要使用ifconfig. (3认同)
  • 我没有“网络上的ADB”选项,也没有USB电缆,所以我只是在名为Wifi ADB的Play商店下载了该应用程序,它的运行效果非常好:https://play.google.com/store/apps/details ?id = com.ttxapps.wifiadb&hl = zh-CN (2认同)

Mur*_*ain 109

(不需要root) Android Studio有一个最好的,简单的UI方法

创建IntelliJ和Android Studio插件,通过WiFi快速连接Android设备,无需连接USB即可安装,运行和调试应用程序.按一个按钮忘记USB电缆.

只需安装插件Android WiFi ADB

直接从中下载并安装Android WiFi ADB

Intellij/Android Studio:首选项/设置 - >插件 - >浏览存储库

在此输入图像描述

在此输入图像描述

.

记得!首次初始化设备,您必须使用USB连接

或者,您可以从JetBrains插件站点下载该插件并手动安装在:Preferences/Settings-> Plugins-> Install plugin from disk.

您可以轻松连接和管理您的设备.......欲了解更多信息,请访问 https://github.com/pedrovgs/AndroidWiFiADB

  • 我发现另一个插件更加用户友好 - 它叫做"ADB WiFi Connect" (12认同)
  • 插件错误:插件“Android WiFi ADB”不兼容(仅在 IntelliJ IDEA 中支持)。 (5认同)
  • 它连接成功,但当我拔掉usb电缆.. wifi自动断开连接 (2认同)
  • @SagarChavada 它仅适用于 Marshmallow 或 up 设备 (2认同)

Rad*_*scu 41

如果要在设备上启用无线亚行没有与USB电缆连接在所有(根要求):

  1. 在设备上安装终端应用程序(如Android终端仿真程序)键入以下内容
  2. setprop service.adb.tcp.port 5555
  3. 停止adbd
  4. 开始adbd

由于您已经打开了终端,因此您可以找到该设备的IP地址:

ip addr show
Run Code Online (Sandbox Code Playgroud)

然后在调试环境中运行命令:

adb connect ip.of.the.device
Run Code Online (Sandbox Code Playgroud)

这将使设备列为您可能拥有的任何其他模拟器.请注意,在重置设备之前,TCP将保持打开状态.如果您经常断开连接,您可能还想安装Wi-Fi Keep Alive应用程序.

如果您想要安全,请记住在连接到公共网络时关闭TCP.您可以执行以下操作或只是重新启动设备:

  1. setprop service.adb.tcp.port -1
  2. 停止adbd
  3. 开始adbd

  • @Bamaco - 需要root (2认同)

Pha*_*inh 36

Developer optionsAndroid 11 中,有Wireless debugging. 确保您的笔记本电脑和手机在同一网络下,然后执行下面的 2 个命令。请注意,portforpair 与for connect 不同port,您只需在第一次时进行配对(稍后只需连接)。

adb 对 ipaddr:端口

adb pair 192.168.1.6:42049

// will output
Enter pairing code: 696686
Successfully paired to 192.168.1.6:42049 ...
Run Code Online (Sandbox Code Playgroud)

adb 连接 ipaddr:端口

adb connect 192.168.1.6:37203

// will output
connected to 192.168.1.6:37203
Run Code Online (Sandbox Code Playgroud)

另外, 如果您位于“platform-tools”目录中,这些命令仅适用于 android studio 终端。cd C:\Users\username\AppData\Local\Android\Sdk\platform-tools>

  • 无法使用 android studio 连接,但使用上述命令连接成功。 (2认同)

Tre*_*hns 33

adb实用程序确实能够通过TCP/IP连接到设备.但是,adbd通常不会侦听TCP连接.

如果你想让它运行,你需要一个工程设备(换句话说,你需要root).然后按照这篇文章中的说明操作:

如何使用ADB通过TCP连接到Android?

由于这仅适用于eng设备,因此不受官方支持.使用风险自负,预计会出现错误等.

  • 有没有办法让部署更快?我不明白为什么这么慢...... (4认同)
  • 没有理由发出警报,我正在运行Nexus One而且我已经准备好弄脏我的手:) (3认同)

Ayu*_*Jha 27

我在这里找到了答案:

  1. 将Android设备和adb主机连接到两者均可访问的通用Wi-Fi网络.我们发现并非所有接入点都适用; 您可能需要使用其防火墙配置正确以支持adb的接入点.
  2. 使用USB电缆将设备连接到主机.
  3. 确保adb在主机上以USB模式运行.

    $ adb usb
    restarting in USB mode
    
    Run Code Online (Sandbox Code Playgroud)
  4. 通过USB连接设备.

     $ adb devices
     List of devices attached
     ######## device
    
    Run Code Online (Sandbox Code Playgroud)
  5. 以tcpip模式重新启动主机adb.

    $ adb tcpip 5555
    restarting in TCP mode port: 5555
    
    Run Code Online (Sandbox Code Playgroud)
  6. 找出Android设备的IP地址:Settings -> About tablet -> Status -> IP address.记住表格的IP地址#.#.#.#. 有时候无法找到Android设备的IP地址,就像我的情况一样.所以你可以使用adb得到它,如下所示:$ adb shell netcfg,应该在结果的最后一行.

  7. 将adb主机连接到设备:

    $ adb connect #.#.#.#
    connected to #.#.#.#:5555
    
    Run Code Online (Sandbox Code Playgroud)
  8. 从设备上拔下USB线,确认您仍然可以访问设备:

    $ adb devices
    List of devices attached
    #.#.#.#:5555 device
    
    Run Code Online (Sandbox Code Playgroud)

你现在好开心吧!

如果adb连接丢失:

  1. 确保您的主机仍然连接到Android设备所在的同一Wi-Fi网络.
  2. 通过再次执行"adb connect"步骤重新连接.
  3. 或者,如果这不起作用,请重置您的adb主机:

     adb kill-server
    
    Run Code Online (Sandbox Code Playgroud)

然后从头开始.

  • 工作完美,但我必须在连接到设备IP之前移除我的电缆,以便在设置连接后显示设备. (2认同)

小智 26

对于所有人来说,这有一个更好的方法(EASIEST METHOD):

1)Android工作室退出的插件,称为Android wifi ADB

2)转到文件 - >设置 - >插件 - >浏览存储库

3)查找 Android WiFi ADB ,单击" 安装",然后在提示符下重新启动

4)您将看到一个新图标,这是您的新插件.

现在让这个工作:

5)转到手机的开发者选项并启用调试(必须)

6)同时启用,允许通过TCP/NETWORK进行调试

7)通过USB连接手机,确保手机和笔记本电脑连接到同一网络(热点或wifi)

8)点击新图标(即你的ANDROID Wifi ABD)

9)您的手机被检测到并通过wifi /热点连接,因此现在您可以断开USB连接.这是一次性过程,因此您可能不需要通过USB连接手机.

这样可以节省手机的不规则费用,也可以解决短线usb线缆的问题.


Tar*_*Ray 21

安装插件 Android WiFi ADB

直接从 Android Studio 下载并安装 Android WiFi ADB

文件> 设置-> 插件-> 浏览存储库-> Android WiFi ADB -> 安装-> 首次使用电缆连接-> 单击“连接”-> 现在移除电缆并开始调试/运行。

检查 ss 以供您参考

安卓 WiFi 亚行

  • 这对我来说非常简单。感谢塔里特·雷的分享。 (2认同)

use*_*158 10

借助新的 Android 11,您可以通过 WiFi 调试您的应用程序,而无需使用 USB 数据线。

引用自Android Studio 用户指南

通过 Wi-Fi 连接到设备(Android 11+)

Android 11 及更高版本支持使用 Android 调试桥 (adb) 从您的工作站无线部署和调试您的应用。例如,您可以将可调试应用程序部署到多个远程设备,而无需通过 USB 物理连接您的设备。这样就无需处理常见的 USB 连接问题,例如驱动程序安装。

要使用无线调试,您需要使用配对代码将设备与工作站配对。您的工作站和设备必须连接到同一个无线网络。要连接到您的设备,请按照以下步骤操作:

  1. 在您的工作站上,更新到最新版本的 SDK Platform-Tools。
  2. 在设备上,启用开发人员选项。
  3. 启用无线调试选项。
  4. 在询问是否允许在此网络上进行无线调试的对话框中,单击允许
  5. 选择使用配对代码配对设备。记下设备上显示的配对代码、IP 地址和端口号(见图)。
  6. 在您的工作站上,打开一个终端并导航到android_sdk/platform-tools.
  7. 运行adb pair ipaddr:port。使用步骤 5 中的 IP 地址和端口号。
  8. 出现提示时,输入您在步骤 5 中收到的配对代码。一条消息表明您的设备已成功配对。
    none
    Enter pairing code: 482924
    Successfully paired to 192.168.1.130:37099 [guid=adb-235XY] 
Run Code Online (Sandbox Code Playgroud)
  1. (仅适用于 Linux 或 Microsoft Windows)运行 adb connect ipaddr:port。使用无线调试下的 IP 地址和端口。


Fol*_*lyd 9

我写了一个shell脚本,可以让你通过Wi-Fi调试Android设备.

这是代码:

#!/usr/bin/env bash
#Notice: if unable to connect to [ip]:5555,
#try adb kill-server then try again.

adb shell ip route > addrs.txt
#Case 1:Nexus 7
#192.168.88.0/23 dev wlan0  proto kernel  scope link  src 192.168.89.48

#Case 2: Smartsian T1,Huawei C8813
#default via 192.168.88.1 dev eth0  metric 30
#8.8.8.8 via 192.168.88.1 dev eth0  metric 30
#114.114.114.114 via 192.168.88.1 dev eth0  metric 30
#192.168.88.0/23 dev eth0  proto kernel  scope link  src 192.168.89.152  metric 30
#192.168.88.1 dev eth0  scope link  metric 30

ip_addrs=$(awk {'if( NF >=9){print $9;}'} addrs.txt)

echo "the device ip address is $ip_addrs"

echo "connecting..."

rm addrs.txt

adb tcpip 5555

adb connect "$ip_addrs"
Run Code Online (Sandbox Code Playgroud)


小智 7

要完成@usethe4ce 的回答,如果您有多个设备或模拟器,adb tcpip 5555将给出error: more than one device/emulator.

在这种情况下,您需要提供所需设备的序列号:

  1. adb devices

    连接的设备列表

    33001229 设备

    模拟器-5554 设备

  2. adb -s 33001229 tcpip 5555
  3. 在我的情况下,找到您设备的 IP 我可以从设备的 wifi 连接设置中找到它。
  4. adb connect xxx.xxx.xxx.xxx:5555


小智 7

以下步骤是要遵循的标准步骤(与以前的答案大致相同):-

  • 亚行 tcpip 5555。
  • adb 连接 your_device_ip_address。
  • adb devices(查看设备是否已连接)。

但在某些情况下,上述步骤会出现“无法连接到设备。确保您的计算机和设备连接到同一个 WiFi 网络”之类的错误。您会注意到这些设备已经在同一网络上。

在这种情况下,请安装此插件“Wifi ADB Ultimate”并按照以下步骤操作。

  1. 通过 USB 连接设备一次。
  2. 刷新列表以检查其是否已连接。
  3. 转到关于电话 > 状态 > IP 地址并记下您的 IP 地址(例如 198.162.0.105)。
  4. 返回 Android Studio 并按照下图所示填写此 IP,然后点击运行按钮。

在此处输入图片说明


现在,你可以走了!


x4h*_*h1d 7

尽管有很多好的答案,但这里是我对未来的我的两分钱:P以及任何想要快速而简单的人。

对于苹果机:

  • 首先使用 USB 连接设备并确保调试正常。断开所有其他设备的连接并退出模拟器。
  • 打开终端并运行以下脚本

    adb tcpip 5555
    adb connect $(adb shell ifconfig | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}' | cut -d: -f2):5555
    
    Run Code Online (Sandbox Code Playgroud)
  • 断开 USB 连接,设备应可用于 WiFi 调试

解释:

adb tcpip 5555命令设备开始侦听端口 5555 上的连接

adb connect $(_ip_address_fetched_):5555告诉连接到该_ip_address_fetched_地址的端口 5555

其中_ip_address_fetched_包括以下内容:

adb shell ifconfig使用 adb shell 获取互联网配置

grep "inter "过滤任何以inter开头的行

grep -v 127.0.0.1排除本地主机。

此时,输出应该类似于:

inet 地址:###.###.#.### 广播:###.###.#.### 掩码:255.255.255.0

awk '{print $2}'获取组件数组的第二部分,以空格分隔(我使用的是 zsh)

到目前为止的输出是

地址:###.###.#.###

cut -d: -f2用分隔符:分割字符串并获取第二部分。它只会使用您的设备 IP 地址


Ank*_*ria 6

最好且超级简单的方法是:-

  1. 制作一个批处理文件:-

亚行设备

亚行 TCPIP 5555

adb connect 192.168.9.120:5555 (您的手机 ip xxx.xxx.x.xxx:5555 )

  1. 将此文件放入您的 android sdk platform-tool 文件夹中。示例:- C:\Users\'user_name'\AppData\Local\Android\Sdk\platform-tools

  2. 右键单击文件>发送到>桌面(创建快捷方式)

  3. 就是这样....

现在您只需通过 USB 连接手机,然后打开桌面快捷方式并断开手机连接...


Ani*_*ban 6

经过长时间的搜索,我发现:

我必须跑

adb connect <device_ip_address>:5555 
Run Code Online (Sandbox Code Playgroud)

断开USB连接后


pri*_*yGK 6

如果您使用的是 Android 11,请多次单击构建版本以激活开发人员选项,然后转到设置>高级>开发人员选项。滚动到调试并打开“无线调试”复选框。然后通过触摸“无线调试”打开菜单调试。选择“Pair device with paring code”,您将看到与配对码配对的地址。在您的桌面终端中编写此命令以与您的 Android 设备配对。

adb pair 192.168.XXX.XXX:XXXX   <--------- the address showing on screen under paring code
Run Code Online (Sandbox Code Playgroud)

使用配对码进行连接。

但是等等,我们还没有连接到 adb。成功配对设备一次后。您可以随时打开无线调试选项连接您的 adb。从现在开始,每次在使用 adb 之前连接它,您不再需要配对地址,而是使用在您进入无线调试菜单时显示的给定地址。

adb connect 192.168.XXX.XXX:XXXX    <--- this address shows inside wireless debug menu
Run Code Online (Sandbox Code Playgroud)


小智 5

对于Windows:

步骤1.使用以下命令创建批处理文件并调用该文件w.bat.

步骤2.复制以下内容w.bat,并将其保存在%path%Windows系统中的任何文件夹中

echo ***Get phone in Wi-Fi mode***
echo ***Get phone in Wi-Fi mode***

adb devices
echo ***Remove cable from the phone now***
adb tcpip 9000

adb connect 192.168.1.1:9000
adb connect 192.168.1.2:9000
adb connect 192.168.1.3:9000
adb connect 192.168.1.4:9000
adb connect 192.168.1.5:9000
adb connect 192.168.1.6:9000
Run Code Online (Sandbox Code Playgroud)

// < - 直到这里 - >

步骤3.使用电缆连接手机和PC

步骤4.确保手机处于Wi-Fi模式

步骤5.批处理文件指示时删除电缆

步骤6. w.bat在Windows提示符下键入(开始 - >运行 - >键入CMD,按Enter)(黑屏是Windows DOS提示符),如果将其复制到其中一个路径文件夹中,则可以从任何地方运行,否则从文件夹运行你在哪里创建这个文件.

批处理文件的输出将是这样的:

C:\Windows\System32>w

C:\Windows\System32>echo ***Get phone in Wi-Fi mode***
***Get phone in Wi-Fi mode***

C:\Windows\System32>echo ***Get phone in Wi-Fi mode***
***Get phone in Wi-Fi mode***

C:\Windows\System32>adb devices
List of devices attached
d4e9f06 device

C:\Windows\System32>echo ***Remove cable from the Phone now***
***Remove cable from the Phone now***

C:\Windows\System32>adb tcpip 9000
restarting in TCP mode port: 9000

C:\Windows\System32>adb connect 192.168.1.1:9000
unable to connect to 192.168.1.1:9000:9000

C:\Windows\System32>adb connect 192.168.1.2:9000
connected to 192.168.1.2:9000

C:\Windows\System32>adb connect 192.168.1.3:9000
unable to connect to 192.168.1.3:9000:9000

C:\Windows\System32>adb connect 192.168.1.4:9000
unable to connect to 192.168.1.4:9000:9000

C:\Windows\System32>adb connect 192.168.1.5:9000
unable to connect to 192.168.1.5:9000:9000

C:\Windows\System32>adb connect 192.168.1.6:9000
unable to connect to 192.168.1.6:9000:9000
Run Code Online (Sandbox Code Playgroud)

注1:在输出中找到它,(忽略所有 - >无法连接< - 错误)

connected to xxx.xxx.x.x:9000
Run Code Online (Sandbox Code Playgroud)

如果您在结果中看到这一点,只需从PC上移除电缆并转到Eclipse并运行以在设备上安装应用程序; 那应该是它.

注2:断开或关闭无线模式:输入以下命令.它应该说在USB模式下重新启动 - 在这个阶段,PC和计算机不应该用电缆连接:

C:\Users\dell>adb usb
restarting in USB mode
Run Code Online (Sandbox Code Playgroud)

注3:查找手机IP地址的步骤(取自Stack Overflow)

查找MY PHONE的IP地址:

a. Dial *#*#4636#*#* to open the Testing menu.
b. In the Wi-Fi information menu: click Wi-Fi Status
c. Wi-Fi status can be blank for the first time
d. Click Refresh Status
e. In the IPaddr: <<IP ADDRESS OF THE PHONE IS LISTED>>
Run Code Online (Sandbox Code Playgroud)

注4:我的手机Wi-Fi连接IP地址范围通常与下面提到的IP地址相同,

192.168.1.1

192.168.1.2

192.168.1.3

192.168.1.4

192.168.1.5

192.168.1.6

注意5:如果您获得任何其他IP地址序列不断重新分配到您的手机,您只需更改w.bat文件中的IP地址即可.

注6:这是一种强力方法,它可以消除所有人工操作,以便继续查找IP地址并连接到Eclipse/Wi-Fi.

成功注释7:简而言之,常规活动将是这样的:

Step 1. Connect PC and Wi-Fi via a cable
Step 2. Start CMD - to go to Windows DOS prompt
Step 3. Type "w"
Step 4. Find connected command in the output
Step 5. Success, remove cable and start using Eclipse
Run Code Online (Sandbox Code Playgroud)


Nic*_*hek 5

  1. 在“设备设置”->“开发人员选项”->“撤销 USB 调试授权”中。
  2. 通过 USB 连接设备并确保调试正常。
  3. adb tcpip 5555
  4. adb connect <DEVICE_IP_ADDRESS>:5555
  5. 断开USB
  6. adb devices


seg*_*ier 5

从搜索和一些答案来看,我使用这种方法,它工作正常,你必须知道 tcpip 并不总是 5555 ,你必须找到它,只需遵循这个你需要首先下载平台工具

https://developer.android.com/studio/releases/platform-tools.html

将platform-tools文件夹解压到C盘并在那里运行Powershell(右键单击 >> PowerShell >> 在此处打开)

#用USB线连接手机

PS C:\platform-tools> adb kill-server
PS C:\platform-tools> adb shell ip route > addrs.txt
Run Code Online (Sandbox Code Playgroud)

#这给你你的tcpip

* daemon not running; starting now at tcp:5037 
* daemon started successfully
PS C:\platform-tools> adb tcpip 5037
restarting in TCP mode port: 5037
Run Code Online (Sandbox Code Playgroud)

#断开电话 #adb connect <phone_ip>:5037

PS C:\platform-tools> adb connect 192.168.43.1:5037
connected to 192.168.43.1:5037
Run Code Online (Sandbox Code Playgroud)

现在你可以在Android studio中看到你的手机了