- From your device, if it is rooted
- Old answer
- Step 1:
- Step 2:
- Step 3:
- Step 5:
- Step 6:
- Step 7:
- Update
- Необходимые условия
- Ответ 1
- Ответ 12
- Ответ 13
- Ответ 16
- Ответ 18
- Ответ 19
- Ответ 20
- Ответ 21
- Ответ 22
- Ответ 23
- Ответ 24
- Ответ 25
- Ответ 26
- Ответ 27
- Ответ 28
- Ответ 3
- Ответ 30
- Ответ 6
- Ответ 8
- Ответ 9
- Приложения для автоматизации процесса
- С компьютера на ненагруженном устройстве
- С компьютера на рутированном устройстве
- С компьютера, если у вас уже есть usb-доступ (не требуется root)
- Шаг 2. определение ip адреса
- Шаг 4.
- Узнайте больше о Huawei
From your device, if it is rooted
According to a post on xda-developers, you can enable ADB over Wi-Fi from the device with the commands:
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd
And you can disable it and return ADB to listening on USB with
setprop service.adb.tcp.port -1
stop adbd
start adbd
Old answer
This would appear to be a bug within ADB, introduced in December 2022 or January 2022. I believe this relates to recent changes to this else statement in socket_spec.cpp.
} else {
std::string addr(spec.substr(4));
port_value = -1;
// FIXME: ParseNetAddress rejects port 0. This currently doesn't hurt, because listening
// on an address that isn't 'localhost' is unsupported.
if (!android::base::ParseNetAddress(addr, &hostname_value, &port_value, serial, error)) {
return false;
}
if (port_value == -1) {
*error = "missing port in specification: ";
*error = spec;
return false;
}
}
If a port value is not specified, the variable port_value is initialised at -1 and does not change. This value is not altered by android::base::ParseNetAddress either. If the ParseNetAddress check passes then we will always fall into the error-catching statement immediately afterwards.
Step 1:
Enable Developer options in your Android phone using this way.
- Open Settings> About> Software Information> More.
- Then tap “Build number” seven times to enable Developer options.
- Go back to Settings menu and now you’ll be able to see “Developer options” there.
- Tap it and turn on USB Debugging from the menu on the next screen.
Step 2:
Open your cmd and type adb.
If you find that the adb is not a valid command then you have to add a path to the environment variable.
- First go to you SDK installed folder. Follow this path as an example.
““
D:softwaresDevelopmentAndoirdSDKsdkplatform-tools; D:softwaresDevelopmentAndoirdSDKsdktools;
“` - Now search on windows system advanced setting
- Open the Environment variable.
- Then open the “PATH” variable and paste the previous example path to its variable value.
- NOTE: You SDK path is different from mine please use yours.
Now you can connect your android phone to PC.
Step 3:
Using the device name listed above, get the IP of your Android device (if you know you can skip this step)
$ adb -s LGV498b9cacc1 shell ip -f inet addr show wlan0
22: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
inet 192.168.1.185/24 brd 192.168.1.255 scope global wlan0
Step 5:
Connect to your Android device IP address.
$ adb -s LGV498b9cacc1 connect 192.168.1.185:5559
connected to 192.168.1.185:5559
Step 6:
Verify if the device was added to the list:
$ adb devices
List of devices attached
192.168.1.185:5559 device
LGV498b9cacc1 device
192.168.1.187:5558 device
192.168.1.184:5557 device
192.168.1.186:5556 device
192.168.1.143:5555 device
Now you can remove your phone.
Step 7:
Verify if the device was added to the list:
$ adb devices
List of devices attached
192.168.1.185:5559 device
LGV498b9cacc1 device
192.168.1.187:5558 device
192.168.1.184:5557 device
192.168.1.186:5556 device
192.168.1.143:5555 device
Now you can remove your device and run your Android project.
Update
This bug has now been fixed as of ADB version 1.0.41, which is part of Platform Tools version 29.0.4. The fix for the bug was committed on 31st July 2022:
Необходимые условия
Устройство должно быть доступно по сети с компьютера. В простейшем
случае – устройство и компьютер должны быть подключены к одной WiFi
точке.
Ответ 1
В итоге я получил программное обеспечение Eltima USB to Ethernet, которое наконец-то отказалось от возможности прямого подключения к устройству через TCP. Я довольно много решил, что невозможно подключиться к устройству по сети только для эмулятора.
Ответ 12
Сначала вы должны подключить устройство через 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-кабель, и вы все равно увидите свой логарифм как обычно.
Готово. Наслаждайтесь
Ответ 13
Если вы хотите легко подключить свое устройство для запуска, отладки или развертывания приложений Android через Wi-Fi, вы можете использовать плагин IntelliJ с открытым исходным кодом, который я разработал. Здесь – код и здесь плагин готов к использованию.
Использование довольно простое. Здесь у вас есть gif:
Ответ 16
Чтобы переключиться между режимами 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 вручную.
Ответ 18
Функция утилиты Bash:
function adb-connect-to-wifi {
ip="$(adb shell ip route | awk '{print $9}')"
port=5555
adb tcpip ${port}
adb connect ${ip}:${port}
}
Ответ 19
Вы также можете использовать пересылку локального порта SSH. Но он по-прежнему связан с USB-кабелем. Подключите телефон с помощью USB к компьютеру (хосту) с запуском sshd. На удаленном (гостевом) ПК запускает SSH-клиент, способный осуществлять перенос портов/туннелирование. Пример:
plink -L 5037:localhost:5037 <host_IP_address>
Я использую эту конструкцию для подключения своего устройства к виртуальной машине. Eltima USB to Ethernet не был достаточно стабильным (тайм-ауты во время отладки).
SSH-туннелирование работает бесплатно и является более надежным.
Ответ 20
Я нахожу, что другие ответы сбивают с толку. Намного проще использовать adbWireless:
Ответ 21
Я собрал пакетный файл для автоматического включения и подключения ADB через TCP, к устройству, подключенному через USB. При этом вам не нужно вручную вводить IP-адрес.
Ответ 22
Здесь расширение для Брайана отвечает с помощью 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 Мбит/с.
Ответ 23
Шаги:
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 -)
Спасибо
Ответ 24
Еще одно примечание (усложненный путь): вы не должны одновременно активировать VPN-соединение своей компании…
Ответ 25
Вам нужно сделать следующее:
- Сначала добавьте ADB в свой путь к среде.
- Из вашего типа CLI эта команда adb подключается YOUR_DEVICE_IP: PORT_NUMBER (пример adb connect 192.168.100.100:5555)
Ответ 26
Я получил эту работу. Не использовал USB-кабель.
- приложение adb wireless.
Запустите его. Это установит ip и порт; Затем в dos
cd C:Program FilesAndroidandroid-sdkplatform-tools adb connect "192.168.2.22:8000 "enter"
Connected.
Ответ 27
Используйте приложение adbwireless для включения телефона, а затем используйте соединение adb с компьютера Windows, чтобы поговорить с ним. Приложение adbwireless на телефоне сообщает вам, как подключиться к нему, указав IP-адрес и все.
Менее забавная альтернатива – подключиться через USB, сказать телефону использовать TCPIP через adb tcpip 5555, затем отключить USB, а затем использовать adb connect. Это намного сложнее, потому что таким образом вам нужно самостоятельно определить IP-адрес телефона (adbwireless сообщает вам IP-адрес), вам нужно подключиться через USB, и вам нужно запустить adb tcpip (adbwireless тоже позаботится об этом).
Итак: установите adbwireless на свой телефон. Используй это. Возможно, я делаю это регулярно в Linux и Windows.
Ответ 28
В моей системе это было так:
На моем устройстве 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 прямо сейчас. С другой стороны, если я держу вкладку “Цель” настроенной на автоматическую.
Ответ 3
Это действительно просто, если ваш телефон укоренен.
Загрузите эмулятор терминала из Google Play (есть много бесплатных). Убедитесь, что ваше Android-устройство подключено к вашему Wi-Fi и получает IP-адрес Wi-Fi. Откройте программу терминала и введите:
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd
Теперь перейдите на свой компьютер (при условии, что вы используете Windows) и создайте ярлык на рабочем столе для “cmd.exe” (без котировок).
Ответ 30
Я нашел удобный способ, которым я хотел бы поделиться.
Для Windows
Наличие USB-доступа после
Не требуется root
Подключите телефон и компьютер к горячей точке или запустите переносную точку доступа с вашего телефона и подключите к ней свой компьютер.
Получите ip телефона, как предписано brian (не нужно, если вы делаете горячую точку со своего телефона)
adb shell ip -f inet addr show wlan0
Открыть блокнот
Напишите эти
Ответ 6
От adb –help:
connect <host>:<port> - Connect to a device via TCP/IP
Это опция командной строки.
Вы должны попробовать подключить телефон к Wi-Fi, а затем получить свой IP-адрес от своего маршрутизатора. Он не будет работать в сети сотовых сетей.
Порт 5554.
Ответ 8
Мне нужно было работать как 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
Ответ 9
Чтобы подключить ваш планшет с помощью 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>
как:
Приложения для автоматизации процесса
В Google Play также есть несколько приложений, которые автоматизируют этот процесс. Быстрый поиск предлагает adbWireless, WiFi ADB и ADB WiFi. Все они требуют root-доступа, но adbWireless требует меньше разрешений.
С компьютера на ненагруженном устройстве
(Обратите внимание, что это можно сделать и с помощью корневого устройства, но вы можете использовать оболочку на корневом устройстве, не требующее подключения 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-адрес устройства можно найти двумя способами:
С консоли выполните:
adb shell ip -f inet addr show wlan0
С компьютера на рутированном устройстве
Во-первых, вам нужен доступ к оболочке. Вы либо подключаете устройство с помощью 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
С компьютера, если у вас уже есть usb-доступ (не требуется root)
Еще проще переключиться на использование Wi-Fi, если у вас уже есть USB. Из командной строки на компьютере, на котором подключено устройство через USB, выполните команды
adb tcpip 5555 adb connect 192.168.0.101:5555
Обязательно замените 192.168.0.101 на IP-адрес, который фактически назначен вашему устройству.
IP-адрес планшета можно найти двумя способами:
Ручное обнаружение IP:
Перейдите в настройки WiFi в Android, нажмите кнопку меню на панели действий (вертикальное эллипсис), нажмите « Дополнительно» и посмотрите IP-адрес в нижней части экрана.
Используйте ADB для обнаружения IP:
Выполните следующую команду через adb:
adb shell ip -f inet addr show wlan0
Чтобы сообщить демону ADB вернуться к прослушиванию через USB
adb usb
Шаг 2. определение ip адреса
Если устройство подключено к компьютеру, то можно выполнить команду
На самом устройстве в эмуляторе терминала можно выполнить:
Либо можно в настройках WiFi выбрать пункт “Advanced” и посмотреть IP в самом низу страницы.
Шаг 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