Как я могу подключиться к Android с ADB через TCP?

693

Я пытаюсь отлаживать приложение на Motorola Droid, но у меня возникают трудности с подключением к устройству через USB. Мой сервер разработки - 64-разрядная виртуальная машина Windows 7, работающая в Hyper-V, поэтому я не могу напрямую подключиться через USB в гостевой или из хоста.

Я установил несколько различных решений USB-over-TCP, но соединение, похоже, имеет проблемы, так как отчеты

  • 52
    При подключении через USB: adb tcpip 5555 . Отключите USB, посмотрите IP-адрес телефона в Settings > About Phone > Status . Теперь adb connect 192.168.xx и все. Нет инструментов, нет программного обеспечения. Просто работает.
  • 1
    То, что сказал Эндрю, - это официальные инструкции с сайта Google для разработчиков Android , рут не нужен. Только что работал на моем нерутированном HTC One m8 (конечно, требует включения опций разработчика).
Показать ещё 6 комментариев
Теги:
networking
debugging
adb
tcp

32 ответа

-29
Лучший ответ

В итоге я получил программное обеспечение Eltima USB to Ethernet, которое наконец-то отказалось от возможности прямого подключения к устройству через TCP. Я довольно много решил, что невозможно подключиться к устройству по сети только для эмулятора.

1025

Ручной процесс

С вашего устройства, если оно коренится

Согласно сообщению на xda-developers, вы можете включить ADB через Wi-Fi с помощью команд:

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

И вы можете отключить его и вернуть ADB для прослушивания на USB с помощью

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

С компьютера, если у вас уже есть USB-доступ (не требуется root)

Еще проще переключиться на использование Wi-Fi, если у вас уже есть USB. Из командной строки на компьютере с устройством, подключенным через USB, выполните команды

adb tcpip 5555
adb connect 192.168.0.101:5555

Обязательно замените 192.168.0.101 на IP-адрес, который фактически назначен вашему устройству.

IP-адрес планшета можно найти двумя способами:

Ручное обнаружение IP-адресов:

Перейдите в настройки Android WiFi, нажмите кнопку меню на панели действий (вертикальное эллипсис), нажмите "Дополнительно" и посмотрите IP-адрес в нижней части экрана.

Используйте ADB для обнаружения IP:

Выполните следующую команду с помощью adb:

adb shell ip -f inet addr show wlan0

Чтобы сообщить, что демон ADB возвращается к прослушиванию через USB

adb usb

Приложения для автоматизации процесса

В Google Play также есть несколько приложений, которые автоматизируют этот процесс. Быстрый поиск предлагает adbWireless, WiFi ADB и ADB WiFi. Все они требуют доступа root, но adbWireless требует меньше разрешений.

  • 3
    Вам нужен root-доступ для этого? Кажется, я могу запускать команды с помощью терминала, но на самом деле он не работает ...
  • 6
    @ JJ - К сожалению, да. Рут требуется.
Показать ещё 28 комментариев
123

Это действительно просто, если ваш телефон укоренен.

Загрузите эмулятор терминала из Google Play (есть много бесплатных). Убедитесь, что ваше Android-устройство подключено к вашему Wi-Fi и получает IP-адрес Wi-Fi. Откройте программу терминала и введите:

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)

adb теперь должен сказать, что вы подключены.

Примечание:, если вы слишком быстро выполняете команду подключения, она может выйти из строя. Поэтому попробуйте по крайней мере два раза пять секунд друг от друга, прежде чем говорить, что это не работает.

  • 6
    Этот ответ был лучше для меня, потому что он объяснил, какая часть должна быть выполнена на устройстве, а какая на компьютере.
  • 4
    ДО "adb tcpip 5555" ДО "adb kill-server". ПОСЛЕ «adb connect 192.168.0.101:5555« DO »adb devices» ИЛИ «adb shell» (connect не запускает оболочку).
73
  • Подключите устройство через USB и убедитесь, что отладка работает, а затем запустите:

    adb tcpip 5555
    adb connect <DEVICE_IP_ADDRESS>:5555
    
  • Отключите USB и продолжите беспроводную отладку.

  • Когда вы закончите и хотите вернуться к USB-отладке, запустите:

    adb -s <DEVICE_IP_ADDRESS>:5555
    

Чтобы найти IP-адрес устройства, перейдите на Settings > Wi-Fi > Advanced > IP Address на своем устройстве или запустите adb shell netcfg.

Не требуется root. Только одно устройство может быть отлажено за раз.

Смотрите этот пост XDA.

Команда adb находится в папке platform-tools Android SDK.

  • 2
    На самом деле, вы можете подключить несколько устройств одновременно, если вы следуете правильному порядку. Просто установите tcpip на 5555 отдельно для каждого телефона, затем выполните команду подключения для каждого телефона и вуаля, они все подключены к adb.
  • 0
    Отладка немного медленнее, если мой телефон подключен таким образом. Кроме того, иногда он засыпает, и это вызывает немедленное отключение.
Показать ещё 1 комментарий
46

От 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 с результатом * daemon не работает. запуская его сейчас * * демон успешно запущен * не может подключиться к 10.10.10.100:5554 Я могу пропинговать ip устройства с рабочей станции dev. Когда выходные данные сообщают, что «демон успешно запущен», не должен ли он ссылаться на демона на устройстве? Возможно, он пытается использовать эмулятор? Как я могу убедиться, что демон работает на устройстве? Спасибо
  • 2
    сначала вы должны adb tcpip port как по умолчанию используется отладка по USB. После последнего можно подключить connect host:port и он должен работать
Показать ещё 5 комментариев
35

Для пользователей ПК:

Шаг 1:
Вы должны включить параметры разработчика на своем телефоне Android.
 Вы можете включить опции разработчика, используя этот способ.
 • Откройте "Настройки" > "О программе" > "Информация о программном обеспечении" > "Дополнительно".
 • Затем нажмите "Создать номер" семь раз, чтобы включить параметры разработчика.
 • Вернитесь в меню "Настройки", и теперь вы сможете увидеть "Возможности разработчика".
 • Нажмите его и включите USB-отладку в меню на следующем экране.

Шаг 2:

Открыть cmd и ввести adb.
если вы обнаружите, что adb не является допустимой командой, вам нужно добавить путь к переменной окружения.

• Сначала перейдите к установленной папке SDK
Следуйте этому пути, и этот путь предназначен только для примера. D:\программное обеспечение\Development\Andoird\SDK\SDK\платформенные инструменты \; D:\программное обеспечение\Development\Andoird\SDK\SDK\инструменты;
 • Теперь выполните поиск по расширенной настройке системы Windows

Изображение 2960

Откройте переменную окружения.

Изображение 2961

затем откройте путь и вставьте следующий путь  это пример.
 Путь SDK отличается от моего, пожалуйста, используйте свой. D:\программное обеспечение\Development\Andoird\SDK\SDK\платформенные инструменты \;
D:\программное обеспечение\Development\Andoird\SDK\SDK\инструменты;

Изображение 2962

Шаг 3:

Откройте cmd и введите adb. если вы все еще видите, что adb не является допустимой командой, ваш путь не установлен правильно, следуйте приведенным выше шагам.

Изображение 2963

Теперь вы можете подключить свой Android-телефон к ПК.

Откройте cmd и введите adb-устройства, и вы увидите свое устройство. Найдите IP-адрес телефона.

Изображение 2964

Тип: - adb tcpip 5555

Изображение 2965

Получить IP-адрес вашего телефона

adb shell netcfg

Теперь,

adb connect "IP address of your phone"

Теперь запустите проект Android и, если вы не увидите его, введите еще раз adb connect IP-адрес вашего телефона.

Изображение 2966

Изображение 2967

Для пользователей Linux и MAC:

Шаг 1: откройте терминал и установите adb, используя

sudo apt-get install android-tools-adb android-tools-fastboot

Подключите телефон через USB-кабель к ПК. Введите следующую команду в терминале

adb tcpip 5555

Используя adb, подключите свой ip-адрес телефона Android.

Удалите телефон.

  • 0
    большое спасибо вам
33

Предположим, что вы сохранили путь adb в своем пути к среде Windows

  1. Активировать режим отладки в Android

  2. Подключение к компьютеру через usb

  3. Откройте командную строку: adb tcpip 5555

  4. Отключите планшет или смартфон от ПК.

  5. Открыть тип командной строки: adb connect IPADDRESS (IPADDRESS - это DHCP/IP-адрес вашего планшета или смартфона, который вы можете найти по Wi-Fi → текущей подключенной сети)

Теперь в командной строке вы должны увидеть результат как: подключен к xxx.xxx.xxx.xxx:5555

  • 0
    Это правильная процедура.
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
  • 0
    +1; Мне нравится это решение.
  • 0
    Не работает: adbd не найден. adbd обычно запускается через start adbd. Но, может быть, в какой-то папке есть скрипт / исполняемый файл?
Показать ещё 1 комментарий
31

Чтобы подключить ваш планшет с помощью TCP-порта. Убедитесь, что ваша система и устройство подключены к одной сети.

  • Открыть консоль cmd.exe
  • Тип adb tcpip 5555
  • Перейти к Системе → Вариант разработки → Отладка USB → Снимите флажок для соединения TCPIP
  • Тип adb connect 192.168.1.2 это IP-адрес вашего устройства.
  • Подключено к 192.168.1.2

Подключено с использованием порта вперед Попробуйте выполнить перенаправление портов,

adb forward tcp: <PC port> tcp: <device port>

как:

adb forward tcp: 5555 tcp: 5555.

C:\Users\abc > adb forward 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 чтобы получить root-консоль.
26

Сначала вы должны подключить устройство через USB

Затем подключите свое устройство к WIFI и получите IP-адрес. Пока все еще подключайтесь через usb-тип в командной строке или через терминал Android Studio

adb tcpip 5555
adb connect <device IP>:5555

Вы увидите следующие сообщения:

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

Теперь выньте USB-кабель, и вы все равно увидите свой логарифм как обычно.

Готово. Наслаждайтесь

  • 0
    благодарю вас! Я искал это долгое время;)
  • 0
    Это сработало. Тем не мение. После выполнения этих шагов я больше не могу переключиться обратно на эмулятор. Предложения?
Показать ещё 1 комментарий
23

Я не знаю, как подключить устройство без какого-либо подключения USB вообще, но если вам удастся его подключить, возможно, на другом компьютере вы можете переключить adbd в режим TCP, выпустив

adb tcpip <port>

с терминала и подключитесь к вашему устройству через Wi-Fi с любого компьютера в сети:

adb connect <ip>:<port>

Возможно, также можно переключиться в режим TCP с терминала на устройстве.

  • 0
    Из всех сложных ответов, которые получили массовые отклики, этот восьмилетний ответ является самым простым и работает. Просто введите «adb connect <ip>: 5555», и он будет доступен для развертывания.
19

С компьютера на ненагруженном устройстве

(Обратите внимание, что это можно сделать и с помощью корневого устройства, но вы можете использовать оболочку на корневом устройстве, которое не требует подключения USB)

Во-первых, откройте командную строку (CMD). Если вы используете Android Studio или IntelliJ, там есть консоль, которую вы можете использовать.

Если возможно, откройте местоположение SDK, щелкните правой кнопкой мыши и нажмите "начать командную строку здесь". Не у всех есть этот вариант, поэтому вам нужно также выполнять эти (/эти) команды:

Измените привод (если применимо)

D: 

И получите доступ к инструментам sdk и platform. Замените этот путь своим местоположением SDK:

D:/sdk/path/here/platform-tools

Теперь у вас есть доступ к мосту отладки Android.

Теперь, когда устройство подключено к компьютеру, выполните следующие действия:

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

Где находится порт, к которому вы хотите подключиться (по умолчанию 5555), и IP-адрес устройства, к которому вы хотите подключиться.

Обратите внимание: 5555 - это порт по умолчанию, и просто запись IP-адреса соединяет его. Если вы используете пользовательский порт, вы можете хотя бы немного улучшить безопасность. Отладка USB через Wi-Fi может быть нарушена, но только если устройство подключено к компьютеру, который хочет злоупотреблять устройством. Использование нестандартного порта, по крайней мере, делает его более трудным для подключения.

Если вы используете пользовательский порт, обязательно добавьте его после IP. Ни один порт не подключается к 5555 и если вы не использовали это, соединение завершится неудачно.

IP-адрес устройства можно найти двумя способами:

  • В зависимости от вашего устройства, точные имена могут отличаться. Откройте настройки и перейдите в раздел О устройствеСостояниеIP-адрес

  • Используйте ADB для получения 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

И чтобы подключить устройство, вы делаете это как в некорневой версии, делая adb connect <ip>:<port>.

И если вы хотите отключить порт и вернуться к прослушиванию USB:

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

Вы также можете использовать плагин Android Studio для этого (не помните имя прямо сейчас), а для корневых пользователей также есть возможность загрузить приложение Android для настройки телефонного соединения (вероятно, требуется подключение adb).

Некоторые телефоны имеют настройки в настройках разработчика (это относится к некоторым невзаимодействующим телефонам, хотя, вероятно, и к некоторым корневым телефонам), что позволяет переключать ADB через Wi-Fi с самого устройства без использования root или компьютера для его запуска. Хотя есть несколько телефонов, у которых есть

  • 0
    adb shell ip -f inet addr show wlan0 ли где-нибудь заменять поддержку IP-адреса и порта?
  • 0
    не в этой линии. Это оболочка для получения IP. Ничто там не должно быть заменено в этой строке
19

Если вы хотите легко подключить свое устройство для запуска, отладки или развертывания приложений Android через Wi-Fi, вы можете использовать плагин IntelliJ с открытым исходным кодом, который я разработал. Здесь - код и здесь плагин готов к использованию.

Использование довольно простое. Здесь у вас есть gif:

Изображение 2968

  • 0
    Эта ошибка происходит: "'adb'команда не найдена. Проверьте установку Android SDK.
  • 1
    Вы должны объявить переменную окружения с именем ANDROID_HOME. Но у меня есть PR, ожидающий рассмотрения, чтобы избежать этого. С версией 1.2 я собираюсь опубликовать на следующей неделе плагин будет работать только с установленным IntelliJ :)
Показать ещё 5 комментариев
10

Как сказал Брайан:

Согласно сообщению на xda-developers, вы можете включить ADB через Wi-Fi с устройства с помощью команд

setprop service.adb.tcp.port 5555

остановить adbd

начать adbd

И вы можете отключить его и вернуть ADB для прослушивания на USB с помощью

setprop service.adb.tcp.port -1

остановить adbd

начать adbd

Если у вас уже есть USB-доступ, еще проще переключиться на использование WiFi. Из командной строки на компьютере с устройством, подключенным через USB, выполните команды

adb tcpip 5555

adb connect 192.168.0.101:5555

Чтобы сообщить, что демон ADB возвращается к прослушиванию через USB

adb usb

В Android Market также есть несколько приложений, которые автоматизируют этот процесс.

Это работает. Вам просто нужно получить доступ к оболочке android и ввести эти команды...

Еще одно (более простое) решение доступно на рынке: adbWireless, он автоматически установит ваш телефон.

Требуется корень! для обоих...

  • 2
    ... но только если телефон рутирован.
  • 0
    Asus Transformer 301 - работа без рута требуется
8
adb tcpip 5555

Странно, но это работает только для меня, если у меня подключен USB-кабель, тогда я могу отключить USB и пойти на него со всем остальным adb.

и то же самое при возврате в usb,

adb usb

будет работать, только если usb подключен.

Не важно, выдаю ли я

setprop service.adb.tcp.port 5555

или

setprop service.adb.tcp.port -1

затем остановите и запустите adbd, мне все еще нужен кабель USB или он не работает.

Итак, если мой ADB над usb не работал, я готов поспорить, что не смог бы включить ADB через WiFi.

7

ШАГ 1.

Убедитесь, что оба ваш хост-компьютер и устройство Android находятся в одной сети Wi-Fi.

ШАГ 2.

Подключите устройство Android к компьютеру с помощью USB-кабеля. Как только вы это сделаете, ваш компьютер обнаружит, что ваше устройство и adb начнут работать в режиме USB на компьютере. Вы можете проверить подключенные устройства с помощью adb devices, тогда как убедитесь, что adb работает в режиме USB, выполнив adb usb.

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


ШАГ 3.

Перезапустите adb в режиме tcpip с помощью этой команды:

$ adb tcpip 5556
restarting in TCP mode port: 5556


ШАГ 4.

Узнайте IP-адрес устройства Android. Существует несколько способов сделать это:

  • ПУТЬ: 1 Перейдите в Настройки → О телефоне/планшете → Состояние → IP-адрес.
  • ПУТЬ: 2 Перейдите в список доступных сетей Wi-Fi. Тот, к которому вы подключены, коснитесь этого и узнайте свой IP-адрес.
  • ПУТЬ: 3 Попробуйте $ adb shell netcfg.

Теперь, когда вы знаете IP-адрес своего устройства, подключите его к нему.

$ 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, выполнив adb kill-server и повторите все шаги еще раз.

Надеюсь, что это поможет!


Ссылка:

  • 0
    Кроме того, вы можете получить IP-адрес вашего устройства с помощью этого сценария в Unix: adb shell ip -f inet addr show wlan0 | grep inet | echo -n $ (grep -Eo '[0-9 \. \ /]') | echo -n $ (grep -Eo '^ [^ \ /] *') | sed 's / // g'
  • 0
    @ Eddy Одно сомнение, что и система, и мобильный телефон / планшет должны быть подключены через Wi-Fi, либо система, подключенная через локальную сеть, и планшет, подключенный с помощью маршрутизатора WIFi той же сети. Пожалуйста, уточните это
Показать ещё 1 комментарий
7

Чтобы переключиться между режимами 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

И теперь вы можете использовать свойство service.adb.tcp.enable для включения или отключения прослушивания на порту 5555. Запустите netstat, чтобы проверить, прослушивает ли он. Как вы можете видеть, это также будет срабатывать, если вы хотите изменить service.adb.tcp.port вручную.

  • 0
    Дополнительно ... к чему?
  • 0
    Вы правы, я должен перефразировать это :)
5

Вы также можете использовать пересылку локального порта SSH. Но он по-прежнему связан с USB-кабелем. Подключите телефон с помощью USB к компьютеру (хосту) с запуском sshd. На удаленном (гостевом) ПК запускает SSH-клиент, способный осуществлять перенос портов/туннелирование. Пример:

plink -L 5037:localhost:5037 <host_IP_address>

Я использую эту конструкцию для подключения своего устройства к виртуальной машине. Eltima USB to Ethernet не был достаточно стабильным (тайм-ауты во время отладки).

SSH-туннелирование работает бесплатно и является более надежным.

4

Я нахожу, что другие ответы сбивают с толку. Намного проще использовать adbWireless:

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

Просто установите приложение на свой телефон для переключения отладки через Wi-Fi, установите плагин eclipse и все готово.

  • 0
    Какой плагин Eclipse вы имеете в виду? Редактировать: Nevermind. Нашел по ссылке в вашем ответе.
  • 0
    Это только root, хотя
3

Шаги:

  • su - Чтобы переключиться на суперпользователя.
  • setprop service.adb.tcp.port 5555 - Чтобы указать порт tcp - 5555 - номер порта здесь
  • stop adbd - Чтобы остановить службу adbd.
  • start adbd - Запустить службу adbd.

это отлично работает с ssh с моего ПК на ПК

Я пытаюсь сделать это при загрузке на своем цианогенном мобильном устройстве или запустить его с помощью plink. С plink я не могу запустить оболочку с правом su... команда sudo или su не работает. При загрузке я не знаю, как это работает! Моя программа оболочки работает от ssh с su -c "sh /storage/sdcard1/start_adb.sh" с последними 3 командами (без su -)

Спасибо

3

Здесь расширение для Брайана отвечает с помощью Bluetooth:

  • В Linux используйте Blueman для совместного использования компьютера с компьютером через Bluetooth:

    $ 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
    
  • Используйте сеть Bluetooth для команд 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

Примечание: Bluetooth 3.0 и 4.0 могут достигать 24 Мбит/с.

3

Я собрал пакетный файл для автоматического включения и подключения ADB через TCP, к устройству, подключенному через 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
2

Вам нужно сделать следующее:

  • Сначала добавьте ADB в свой путь к среде.
  • Из вашего типа CLI эта команда adb подключается YOUR_DEVICE_IP: PORT_NUMBER (пример adb connect 192.168.100.100:5555)
  • 0
    Это сработало для меня.
1

Еще одно примечание (усложненный путь): вы не должны одновременно активировать VPN-соединение своей компании...

1

Я нашел удобный способ, которым я хотел бы поделиться.

Для Windows

Наличие USB-доступа после

Не требуется root

Подключите телефон и компьютер к горячей точке или запустите переносную точку доступа с вашего телефона и подключите к ней свой компьютер.

Получите ip телефона, как предписано brian (не нужно, если вы делаете горячую точку со своего телефона)

adb shell ip -f inet addr show wlan0

Открыть блокнот

Напишите эти

@echo off
cd C:\android\android-sdk\platform-tools
adb tcpip 5555
adb connect 192.168.43.1:5555

Измените приведенное выше местоположение, где ваш компьютер содержит файл abd.exe

Измените ip на ip телефона.

Примечание. IP, приведенный выше, является основным IP-адресом устройства Android, когда он делает точку доступа. Если вы подключаетесь к Wi-Fi-сети, и если IP-адрес вашего устройства постоянно меняется при подключении к точке доступа каждый раз, вы можете сделать его статическим, настроив настройки Wi-Fi. Google это.

Теперь сохраните файл как ABD_Connect.bat(командный файл MS-DOS).

Сохраните его где-нибудь и отправьте ярлык на рабочий стол или кнопку "Пуск".

Подключитесь через USB один раз и попробуйте запустить какое-либо приложение. После этого, когда вы хотите подключиться по беспроводной сети, дважды щелкните ярлык.

Примечание. Иногда вам нужно открывать ярлык при каждом отладке приложения. Таким образом, создание ярлыка для ярлыка на рабочем столе будет более удобным. Я сделал ярлык, например Ctrl+Alt+S. Поэтому всякий раз, когда я хочу отлаживать, я нажимаю Shift+F9 и Ctrl+Alt+S

Примечание. Если вы обнаружите ошибку device = null в окне cmd, проверьте свой IP-адрес, возможно, он изменился.

1

Я только что выполнил следующие шаги и начал работать, поэтому я могу подключиться к своему устройству Android.

Шаг 1. Откройте окно терминала в Android-устройствах и выполните следующую команду.

  • su - для переключения на суперпользователя.
  • setprop service.adb.tcp.port 5555 - Чтобы указать порт tcp - 5555 - номер порта здесь
  • stop adbd - остановка службы adbb.
  • start adbd - запуск службы adbd.

Шаг 2. Через ADB выполните следующую команду. (С пути, на котором настроен ADB)

adb connect 10.10.10.50:5555 - Здесь 10.10.10.50 - это IP-адрес устройства Android, а 5555 - номер порта.

1

В моей системе это было так:

На моем устройстве Android в моей Linux-оболочке простой "ifconfig" не дал мне мой IP-адрес. Мне пришлось набирать:

ifconfig eth0

-или -

netcfg

чтобы получить мой IP-адрес. (Я знал, что eth0 настроен, потому что я видел его в своем dmesg.) Затем я сделал:

setprop service.adb.tcp.port -1

остановить adbd

начать adbd

Затем на моем ящике Win7 (тот, который запускает Eclipse 3.7.1). Я открыл командную строку для

\ Android-SDK\платформенных инструментов >

без запуска в качестве администратора. Затем я сделал

adb connect 12.345.678.90

Я никогда не кладу порт. Если я сделал

adb tcpip 5555

он сказал, что не может найти устройство, тогда ничего не появилось в моем списке "adb devices". То есть он работает только в том случае, если я НЕ выполняю команду tcpip выше.

Я могу сделать "оболочку adb" и запутаться с моим Android-устройством. Но мое Android-устройство не отображается на моей вкладке Run- > Run Configurations- > Target прямо сейчас. С другой стороны, если я держу вкладку "Цель" настроенной на автоматическую. Затем, когда я запускаю свое приложение с помощью Run- > Run, он запускается на моем устройстве Android, хотя мое Android-устройство даже не входит в число моих целей.

1

Используйте приложение adbwireless для включения телефона, а затем используйте соединение adb с компьютера Windows, чтобы поговорить с ним. Приложение adbwireless на телефоне сообщает вам, как подключиться к нему, указав IP-адрес и все.

Менее забавная альтернатива - подключиться через USB, сказать телефону использовать TCPIP через adb tcpip 5555, затем отключить USB, а затем использовать adb connect. Это намного сложнее, потому что таким образом вам нужно самостоятельно определить IP-адрес телефона (adbwireless сообщает вам IP-адрес), вам нужно подключиться через USB, и вам нужно запустить adb tcpip (adbwireless тоже позаботится об этом).

Итак: установите adbwireless на свой телефон. Используй это. Возможно, я делаю это регулярно в Linux и Windows.

1

Я получил эту работу. Не использовал USB-кабель.

  • приложение adb wireless.
  • Запустите его. Это установит ip и порт; Затем в dos

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

Connected.

0

Я написал приложение, чтобы помочь с этим, сначала установите приложение на свое Android-устройство из здесь

Убедитесь, что ваш телефон и компьютер подключены к одной сети, откройте приложение, нажмите ADB через TCP, выберите TCP, введите порт и нажмите кнопку. Затем, используя cmd (Command Prompt) в Windows, cd в ваш каталог, содержащий adb exe. После этого введите: "adb connect:", и вы готовы к работе.

0

Если вы хотите, чтобы сделать это, нажмите кнопку:

  • В Android Studio → Настройки/Настройки → Плагины → Просмотр репозиториев
  • Поиск 'ADB wifi'
  • Установить и перезапустить студию Android
  • Подключите ваше устройство (с включенной USB-отладкой) к компьютеру с помощью USB (вам нужно сделать это только один раз за сеанс).
  • Инструменты → Android → ADB WIFI → ADB USB TO WIFI (или используйте указанную комбинацию клавиш. Для MacOS: ctrl + shift + w)

Примечание. Если это не сработало:

  • Брандмауэр вашего Wi-Fi-маршрутизатора может блокировать соединение.
  • ABD не может быть установлен на вашем компьютере.
0

adb может связываться с сервером adb через сокет tcp. вы можете проверить это по telnet.

$ telnet 127.0.0.1 5037
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
000chost:version
OKAY00040020

обычно команда имеет формат %04x%s with <message.length><msg> следующая команда ruby ​​запускает команду adb cmd против tcp socket socket

def send_to_adb(socket, cmd)
  socket.printf("%04x%s", cmd.length, cmd)
end

первый пример отправляет команду host:version, длина которой равна 12 (000c в шестнадцатеричном формате). вы можете наслаждаться более захватывающей командой, например framebuffer:, которая снимает скриншот из фреймбуфера, как вы можете догадаться из его имени.

  • 0
    Это классная информация, но она не решает вопрос. Сервер adb находится на стороне хоста, и вопрос заключается в том, как установить беспроводную связь с устройством. (Причина, по которой существует сервер adb, заключается в том, чтобы мультиплексировать сеансы хоста adb через один хост-устройство, обычно через конечную точку USB.)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню