Как включить «Отладку по USB» уже известно почти всем Android пользователям, но когда появляется желание воспользоваться отладкой по беспроводному подключению Wi-Fi, тут же начинаются какие либо проблемы, которые в большинстве случаев так и остаются не решенные.
Содержание
- Отладка Android по Wi-Fi, пути решения
- Подготовка к подключению
- Отладка Android по Wi-Fi (c Root правами)
- Отладка Android по Wi-Fi
- (с предварительным подключением USB)
- Автоматизированный способ подключения по Wi-Fi
- Основы работы с ADB
- INFO
- Установка программ
- Бэкап приложений
- Консоль в консоли
- Создание скриншота
- Запись видео, происходящего на экране устройства
- INFO
- Управление приложениями
Отладка Android по Wi-Fi, пути решения
Существует 2 варианта как заставить Android работать в режиме отладки по Wi-Fi:
- С наличием Root прав — если root права у вас есть, то данный способ более предпочтительный;
- С первоначальным подключением Android по USB к компьютеру.
Далее рассмотрим каждый из способов более детально.
Подготовка к подключению
Не важно какой из способов вы выбрали, прежде всего вам в начале придется активировать меню «Для Разработчиков» и включить «Отладку по USB«. При отсутствие root прав, также придется установить дополнительно драйвера Android.
Отладка Android по Wi-Fi (c Root правами)
- Скачайте и установите программу ADB RUN;
- Скачайте и установите приложение Wi-Fi ADB или ADB Wireless;
- После установки какого либо выбранного приложения, запустите его, предоставьте Root доступ и в случае Wi-Fi ADB переведите ползунок в режим включения;
- Запустите программу ADB RUN и перейдите в меню Manual Command ->ADB
- После чего вам остается ввести команду:
adb connect 192.168.XXX.XXX:5555
где XXX.XXX внутренний IP адрес который выдала вам приложение.
Отладка по Wi-Fi с Root правами осуществлена.
Отладка Android по Wi-Fi
(с предварительным подключением USB)
- Скачайте и установите программу ADB RUN;
- Перейдите в Android «Настройки устройства -> О Смартфоне/Планшете -> Общая информация -> IP адрес», чтобы узнать присвоенный IP;
- Подключите Android смартфон или планшет к компьютеру по USB;
- Запустите программу ADB RUN и перейдите в меню Manual Command ->ADB;
- Введите следующую команды:
adb -d tcpip 5555
- Вы должны получить ответ в командной строке «restarting in TCP mode port: 5555″;
- И вводим:
adb connect 192.168.XXX.XXX:5555
где XXX.XXX внутренний IP адрес который вы узнали из настроек Android; - После этого отключаем USB кабель (иначе ошибка more than one device and emulator adb) и далее проводим отладку по Wi-Fi.
Отладка по Wi-Fi с предварительным подключением по USB осуществлена.
Автоматизированный способ подключения по Wi-Fi
Программа ADB RUn предлагает более упрощенный вариант и автоматизированный способ подключения по Wi-Fi. Все что вам нужно будет:
- в зависимости от наличия/отсутствия root прав запустить приложение или подключится по USB;
- Перейти в меню Device attached -> Connect WI-FI;
- Далее заполнить IP адрес и Port подключения;
- Дальнейшие манипуляции производить через доп. меню или в ручную.
Вот и все! Больше статей и инструкций читайте в разделе Статьи и Хаки Android. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!
I used to struggle a lot when developing an Android application, mostly because the emulator is slow, and when using real device for development, the USB cable needed to connect my phone with my laptop is just as annoying as the slow emulator.
Luckily, ADB supported WiFi to connect the debug bridge between my phone and my laptop. Since then, I only used USB cable for setting up the ADB WiFi connection. Though most of the time I still enjoy using emulator because and the emulator has been made faster.
First, you have to connect your phone with your computer using aa USB cable. Make sure that the ADB detected your phone. If not, you might need to update the driver that connects your phone and your computer.
Second, open up a command prompt and navigate to your Android SDK location (on Windows you can find it inside your user folder if you install it on the default location e.g: C:UsersYOUR-USERNAMEAppDataLocalAndroidsdkplatform-tools). You probably want to add this path to your $PATH variable.
Type android devices -l to see list of the connected device. You should see your phone on the list.
Then type adb tcpip 5555 to run the ADB in TCP mode. The number after tcpip is the port you want to attach the ADB server on your phone. I use 5555 because it is easy to remember and no apps should be using that port.
You can now plug off the USB cable from your phone and computer, and then connect to your phone via WiFi by typing adb connect :5555 or any port you set the server to be running on, and try running adb devices -l again to check if the ADB TCP server is working correctly.
Everything should be set, if you press the Run or Debug button on Android Studio, you should see your device on the list of available devices to run your app on.
Say goodbye to USB cables and broken USB port on your phone.
To connect your board to Wi-Fi, first access a shell prompt on the device. You can use either of the following methods:
-
Open a shell over adb with the
adb shell
command.For the Raspberry Pi, first connect your board to your Wi-Fi router or development computer to assign it an IP address. Run the
adb connect
command to connect to this IP address using the adb tool. -
Connect to the serial console. Refer to the Get Started page for the particular board.
Once you can access a shell prompt, follow these steps:
-
Send an intent to the Wi-Fi service that includes the SSID of your local network. Your board must support the network protocol and frequency band of the wireless network in order to establish a connection.
The following arguments are supported with this command:
Argument Description -e ssid network_ssid
Connect to the wireless network SSID specified by network_ssid. This argument is required. -e passphrase network_pass
Optional argument to use the passcode specified by network_pass to connect to the network SSID. This argument is not necessary if your network doesn’t require a passcode. -e passphrase64 encoded_pass
Optional argument used in place of passphrase
for passcodes with special characters (space, !, ", $, &, ', (, ), ;, , `, or |
). Use base64 encoding to specify the value for encoded_pass.--ez hidden true
Optional argument to indicate that the SSID specified in this command is hidden. If omitted, this value defaults to false. -
Verify that the connection was successful through
logcat
: -
Test that you can access a remote IP address:
-
Check that the date and time are set correctly on the device:
If you want to clear all of the saved networks on the board:
Существует множество инструментов для работы с подключенным с помощью USB-кабеля или Wi-Fi смартфоном. Особо развитые инструменты позволяют перемещать файлы, устанавливать и удалять софт, просматривать контакты, делать скриншоты экрана и даже отправлять СМС, однако ни один графический инструмент не сравнится с мощью, которую может дать консоль Android. В этой статье мы поговорим об ADB (Android Debug Bridge) — стандартном инструменте для отладки и работы с консолью Android с компа.
Описанные в статье команды можно выполнять непосредственно на устройстве, скачав из маркета эмулятор терминала, но удобнее это делать, конечно же, с компа через adb.
Основы работы с ADB
Для начала работы с ADB его следует активировать на устройстве и установить утилиту adb и драйверы на комп. Первая задача выполняется с помощью включения «Отладки по USB» в пункте настроек «Для разработчиков» (если этот пункт скрыт, нажми семь раз на номер сборки в меню «О телефоне»).
Для установки ADB на комп качаем Adb Kit и распаковываем в любую папку (рекомендую использовать названия папок без русских символов). Также скачиваем и устанавливаем драйверы ADB.
Работать с adb нужно из командной строки. Нажимаем Win + R и вводим cmd, далее переходим в папку, в которой лежит adb. Для моей папки команда будет следующей:
Чтобы не проделывать все эти манипуляции каждый раз, можно добавить нужную папку в переменную Path. Для этого необходимо зайти в «Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды», найти переменную Path и добавить в конец строки, через точку с запятой, путь до папки с adb. Теперь после запуска консоли можно сразу вводить необходимые команды.
Проверим наше подключение к телефону с помощью следующей команды (она должна вывести список подключенных устройств):
С ADB можно работать через Wi-Fi. Для этого нужны права root и приложение WiFi ADB. Запускаем приложение, жмем переключатель и подсоединяемся к смартфону с помощью команды connect и показанного приложением IP-адреса:
Далее работа с ADB ничем не отличается.
INFO
Скопировать вывод консоли после выделения мышкой, а также вставить скопированную команду или имя файла в консоль можно правой кнопкой мыши. Включается в свойствах консоли.
Установка программ
ADB можно использовать для установки приложений без необходимости копировать их на смартфон. Достаточно выполнить такую команду:
В команду также можно добавить дополнительные ключи. Полезными будут -е — переустановить приложение с сохранением данных и -d — установить версию меньше текущей.
Программы можно и удалять, но для этого нужно знать название пакета (как узнать, расскажу чуть позже). На примере игры Angry Birds Seasons команда будет выглядеть так:
Бэкап приложений
В Android есть встроенные функции бэкапа, которые также можно запустить с помощью командной строки. Для этого используется команда adb backup и набор опций:
- -f указывает имя создаваемого файла и его расположение на компе. При отсутствии ключа будет создан файл backup.ab в текущем каталоге;
- -apk|-noapk указывает, включать ли в бэкап только данные приложения или сам .apk тоже (по умолчанию не включает);
- -obb|-noobb указывает, включать ли в бэкап расширения .obb для приложений (по умолчанию не включает);
- -shared|-noshared указывает, включать ли в бэкап содержимое приложения на SD-карте (по умолчанию не включает);
- -all указывает на необходимость бэкапа всех установленных приложений;
- -system|-nosystem указывает, включать ли в бэкап системные приложения (по умолчанию включает);
- <pack — перечень пакетов для бэкапа.
Если мы хотим создать бэкап всех несистемных прог, включая сами .apk, в определенное место, то команда будет выглядеть так:
После ввода необходимо подтвердить начало выполнения бэкапа на самом устройстве. Для восстановления полученного бэкапа нужно выполнить соответствующую команду:
Консоль в консоли
Наряду с упомянутой консолью, которая является DOS-консолью под Windows, в Android существует и своя. Она вызывается через adb shell и представляет собой по сути стандартную Linux-консоль, но с неполным набором команд, расширить который можно, установив из маркета BusyBox. Использовать эту консоль можно двумя способами. В интерактивном режиме она запускается командой
В консоли появляется знак $ (далее по тексту этот знак будет означать необходимость ввода предварительной команды adb shell), и после этого можно вводить серию команд, получая после каждой отклик. Второй способ — если необходимо ввести только одну команду, можно писать ее подряд за adb shell.
В шелле работают стандартные команды для копирования, перемещения и удаления файлов: cp, mv и rm. Можно менять каталоги (cd) и смотреть их содержимое (ls). Кроме стандартных Linux-команд, о которых можно узнать из любого справочника, в Android есть несколько своих специализированных инструментов, но, чтобы использовать некоторые из них, придется получить на смартфоне права root, а после запуска консоли выполнять команду su:
Это нужно делать, если в ответ на какую-либо команду ты видишь строку, похожую на «access denied» или «are you root?». В случае успеха знак $ сменится на #.
Создание скриншота
Выполняется одной строчкой:
После этого картинку нужно выдернуть из устройства командой adb pull:
В recovery скриншот можно сделать следующей командой:
Затем необходимо преобразовать файл fb0 в нормальное изображение с помощью FFmpeg, который нужно скачать и положить в папку с adb. Расширение необходимо ставить своего устройства:
Запись видео, происходящего на экране устройства
Данная команда начнет записывать видео с разрешением 1280 x 720 (если не указать, то будет использовано нативное разрешение экрана устройства), с битрейтом 6 Мбит/с, длиной 20 с (если не указать, то будет выставлено максимальное значение 180 с), с показом логов в консоли. Записанное видео будет находиться в /sdcard (файл video.mp4).
INFO
Все запущенные из консоли и в adb shell процессы, занимающие некоторое время для выполнения, можно прервать с помощью комбинации Ctrl + C. Выйти из шелла и вернуться к выполнению обычных команд adb — Ctrl + D.
Управление приложениями
Для управления приложениями используются две команды: pm (package manager) — менеджер пакетов и am (activity manager) — менеджер активностей. У данных команд есть немало ключей, которые можно посмотреть на портале разработчиков. Остановимся на некоторых.
Для начала получим список установленных на устройстве приложений в виде названий пакетов, которые пригодятся позже:
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»
- https://androidp1.ru/otladka-android-po-wi-fi/
- https://medium.com/myriatek/using-adb-on-wifi-for-android-development-fe407a6db712
- https://developer.android.com/things/hardware/wifi-adb
- https://xakep.ru/2016/05/12/android-adb/