Я пытаюсь отладить приложение на Motorola Droid , но у меня возникают некоторые трудности с подключением к устройству через USB. Мой сервер разработки представляет собой 64-разрядную виртуальную машину Windows 7, работающую в Hyper-V , и поэтому я не могу подключиться напрямую через USB в гостевой или хост-системе.
Я установил несколько разных решений USB-over-TCP, но, похоже, возникли проблемы с подключением, поскольку монитор ADB сообщает, что «devicemonitor неоднократно не запускал мониторинг». Есть ли способ подключиться напрямую с клиента на компьютере разработчика к демону на устройстве, используя сеть вместо USB-подключения или, возможно, другие жизнеспособные варианты?
Если вы хотите легко подключить ваше устройство для запуска, отладки или развертывания приложений Android через WiFi, вы можете использовать разработанный мной плагин IntelliJ с открытым исходным кодом. Здесь это код, а здесь плагин готов к использованию.
Использование довольно просто. Здесь у вас есть GIF:
Я вообще не знаю, как подключить устройство без какого-либо USB-подключения, но если вам удастся подключить его, возможно, на другом компьютере, вы можете переключить adbd в режим TCP, выполнив
adb tcpip <port>
из терминал и подключиться к устройству через Wi-Fi с любого ПК в сети с помощью:
adb connect <ip>:<port>
Возможно, также можно переключиться в режим TCP с терминала на устройстве.
Как сказал Брайан:
Согласно сообщению на xda-developers, вы можете включить ADB через WiFi с устройства с помощью команд
setprop service.adb.tcp. порт 5555
stop adbd
start adbd
И вы можете отключить его и вернуть ADB для прослушивания по USB с помощью
setprop service.adb.tcp. порт -1
stop adbd
start adbd
Если у вас уже есть USB-доступ, переключиться на Wi-Fi еще проще. Из командной строки на компьютере, к которому подключено устройство через USB, введите команды
adb tcpip 5555
adb connect 192.168.0.101:5555
Чтобы сообщить ADB демон возвращается к прослушиванию через USB
adb usb
В Android Market также есть несколько приложений, которые автоматизируют этот процесс.
Это работает. Вам просто нужно получить доступ к оболочке Android и ввести эти команды ...
На Маркете есть еще одно (более простое) решение: adbWireless, оно автоматически настроит ваш телефон.
Требуется рут! для обоих ...
adb tcpip 5555
Странно, но у меня это работает, только если у меня подключен USB-кабель, тогда я могу отключить usb и пойти по нему со всем остальным adb.
и то же самое при возврате к USB,
adb usb
будет работать, только если USB подключен.
Неважно, если я выпущу
setprop service.adb.tcp.port 5555
или
setprop service.adb.tcp.port -1
, то остановлюсь & amp; запустите adbd, мне все еще нужен USB-кабель или он не работает.
Так что, если бы мой ADB через usb не работал, держу пари, я бы тоже не смог включить ADB через WiFi.
(Обратите внимание, что это также можно сделать с помощью рутированного устройства, но вы можете использовать оболочку на рутированном устройстве, которое не требует подключения 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-адреса соединяет его. Если вы используете собственный порт, вы можете хотя бы немного улучшить безопасность. Отладкой 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, чтобы сделать это за вас (не помню названия прямо сейчас), а для пользователей с правами root также есть возможность загрузить приложение Android для настройки телефонного соединения (вероятно, все еще требуется adb connect).
Некоторые телефоны имеют настройку в параметрах разработчика (это относится к некоторым телефонам без рутирования, хотя, возможно, и к некоторым рутованным телефонам), что позволяет переключать ADB через Wi-Fi с самого устройства без рута или компьютера соединение, чтобы начать это. Хотя есть несколько телефонов, которые имеют это
Я все заработал. Не использовал USB-кабель.
Запустите его. Это установит IP и порт; Затем в дос
cd C:\Program Files\Android\android-sdk\platform-tools adb connect "192.168.2.22:8000 "enter"
подключен.
Если вы хотите сделать это одним нажатием кнопки, то:
Примечание: Если это не сработало:
Я нашел удобный метод, которым хотел бы поделиться.
Для Windows
Один раз доступ к USB
Нет необходимости в руте
Подключите телефон и компьютер к точке доступа или запустите переносную точку доступа с телефона и подключите к ней свой компьютер.
Получите IP-адрес вашего телефона, как предписано Брайаном (не нужно, если вы делаете горячую точку с телефона)
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, возможно, он имеет изменено.
Это действительно просто, если ваш телефон рутирован.
Загрузите эмулятор терминала из 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 должен сказать, что вы подключены.
Примечание: если вы слишком быстры, чтобы дать команду подключения, это может привести к сбою. Поэтому попробуйте по крайней мере два раза по пять секунд, прежде чем сказать, что это не работает.
int main()
отличающиеся от int main(...)
?
– Mehrdad
08.12.2019, 02:37
Для пользователей ПК:
Шаг 1:
Вы должны включить опции разработчика в своем телефоне Android.
Вы можете включить опции разработчика, используя этот способ.
• Откройте «Настройки»> «О программе»> «Информация о программном обеспечении»> «Еще».
• Затем нажмите «Номер сборки» семь раз, чтобы включить параметры разработчика.
• Вернитесь в меню «Настройки», и теперь вы сможете увидеть «Опции разработчика» там.
• Коснитесь его и включите USB-отладку из меню на следующем экране.
Шаг 2:
Откройте cmd и введите adb.
если вы обнаружите, что adb является недопустимой командой, вам нужно добавить путь к переменной среды.
• Сначала перейдите к папке с установленным SDK
Следуйте по этому пути, и этот путь только для примера. D: \ программное обеспечение \ Development \ Andoird \ SDK \ SDK \ платформенные инструменты \; D: \ softwares \ Development \ Andoird \ SDK \ sdk \ tools;
• Теперь поиск в расширенной настройке системы Windows
Откройте переменную окружения.
, затем откройте путь и вставьте следующий путь, это пример.
Ваш путь SDK отличается от моего, пожалуйста, используйте ваш. D: \ softwares \ Development \ Andoird \ SDK \ sdk \ platform-tools \;
D: \ softwares \ Development \ Andoird \ SDK \ sdk \ tools;
Шаг 3:
Откройте cmd и введите adb. если вы по-прежнему видите, что команда adb является недопустимой, значит, ваш путь не установлен должным образом, выполните указанные выше шаги.
Теперь вы можете подключить ваш телефон к ПК.
Откройте cmd и введите adb devices, и вы увидите свое устройство. Найдите свой IP-адрес телефона.
Тип: - adb tcpip 5555
] Получить IP-адрес вашего телефона
adb shell netcfg
Теперь,
adb connect "IP address of your phone"
Теперь запустите ваш проект Android и, если вы не видите свое устройство, введите снова adb connect IP address вашего телефона
Для пользователей Linux и MAC :
Шаг 1: откройте терминал и установите adb, используя
Подключите телефон через USB кабель к ПК. Введите следующую команду в терминале
adb tcpip 5555
Используя adb, подключите свой IP-адрес телефона Android.
Уберите свой телефон.
Мне нужно было , чтобы USB и TCPIP работали для ADB (не спрашивайте), поэтому я сделал следующее (используя указания, которые другие отправили от xda-developers)
Использование 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
/sbin/adbd
. Это может варьироваться по телефону. Конечно, Вы должны быть базированы... Если you' ре не базировалось, Вы won' t быть в состоянии получить доступ к/sbin.
– transistor1
16.05.2020, 12:52