<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0">

<channel>

<title>Just Developer Blog, заметки с тегом: Android Wi-Fi debugging</title>
<link>http://bibobo.ru/tags/android-wi-fi-debugging/</link>
<description></description>
<generator>E2 (v3254; Aegea)</generator>

<item>
<title>Отладка Android-приложений через Wi-Fi</title>
<guid isPermaLink="true">http://bibobo.ru/all/otladka-android-prilozheniy-cherez-wi-fi/</guid>
<link>http://bibobo.ru/all/otladka-android-prilozheniy-cherez-wi-fi/</link>
<comments>http://bibobo.ru/all/otladka-android-prilozheniy-cherez-wi-fi/</comments>
<description>&lt;p&gt;Для отладки своих приложений на живых девайсах разработчики в большинстве своем подключают устройство по USB. Стоит подключить устройство (с разрешенным режимом отладки по USB), его тут же видит утилита ADB и позволяет отлаживать. Но у такого подхода есть два очевидных минуса:&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Устройство постоянно заряжается, что пагубно влияет на аккумулятор&lt;/li&gt;
&lt;li&gt;От повышенного износа страдает USB-разъем на устройстве и в один прекрасный момент может сломаться&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Не все знают, но утилита ADB имеет режим отладки по сети, что позволит нам организовать сей процесс через Wi-Fi и избавиться от проблем, описанных выше.&lt;/p&gt;
&lt;p&gt;&lt;input id="button_android_remote_debug" type="button" onclick="toggle(cut_android_remote_debug, button_android_remote_debug)" value="Читать дальше" hiddenText="Свернуть" visibleText="Читать дальше"&gt;&lt;/p&gt;
&lt;div id="cut_android_remote_debug" style="display: none;" displayOld=""&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Итак все, что нам понадобится это консоль и немного времени. Стоит сразу сказать, что для включения данной фичи устройство все же придется присоединить к компьютеру по USB в первый раз. Можно обойтись и без этого, но тогда необходим root-доступ на девайсе.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Перво наперво необходимо подсоединить девайс к компьютеру и убедиться, что отладки работает (например при помощи Android Studio или Xamarin Studio).&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Далее необходимо не отключая устройство запустить терминал, перейти в директорию, где находится утилита ADB, для моего пользователя команда выглядит так:&lt;br/&gt;
&lt;i&gt;cd /Users/gratytony/Library/Android/sdk/platform-tools&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Далее необходимо перезапустить ADB в режиме прослушивания TCP-порта:&lt;br/&gt;
&lt;i&gt;adb -d tcpip 5555&lt;/i&gt;&lt;br/&gt;
В ответ должно прийти:&lt;br/&gt;
&lt;b&gt;restarting in TCP mode port: 5555&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Если в таком состоянии терминал завис — смело нажимаем &lt;i&gt;Ctrl+C&lt;/i&gt;, по неизвестной причине иногда такое происходит. Можно не переживать — ADB перезапустился корректно.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Далее необходимо узнать IP-адрес девайса, это можно сделать через adb-shell, но есть и более простой способ — зайти в настройки устройства и просмотреть статус Wi-Fi сети, к которой оно подключено — там будет виден IP-адрес устройства.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Последнее, что нужно сделать это подключиться к устройству при помощи команды:&lt;br/&gt;
&lt;i&gt;adb connect IP_АДРЕС_УСТРОЙСТВА:5555&lt;/i&gt;&lt;br/&gt;
В ответ должно прийти:&lt;br/&gt;
&lt;b&gt;connected to IP_АДРЕС_УСТРОЙСТВА:5555&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Все, теперь можно смело отключать устройство от USB и отлаживаться по воздуху.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Для прекращения отладки по USB нужно ввести команду:&lt;br/&gt;
&lt;i&gt;adb -s IP_АДРЕС_УСТРОЙСТВА:5555 usb&lt;/i&gt;&lt;br/&gt;
В ответ должно прийти:&lt;br/&gt;
&lt;b&gt;restarting in USB mode&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Отладка работает хорошо, единственное условие, которое необходимо выполнить — это быстрый Wi-Fi. При маленькой скорости соединения загрузка приложения на устройство и шагание по точкам останова существенно медленнее, чем по кабелю.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;UPDATE:&lt;br/&gt;
Если узнать IP-адрес через интерфейс Android не получается можно проделать следующие действия (при подключенном по USB устройстве). Ввести команду:&lt;br/&gt;
&lt;i&gt;adb shell&lt;/i&gt;&lt;br/&gt;
В ответ откроется консоль на устройстве:&lt;br/&gt;
&lt;b&gt;shell@mako:/ $&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Далее необходимо ввести команду:&lt;br/&gt;
&lt;i&gt;netcfg&lt;/i&gt;&lt;br/&gt;
В ответ появится список интерфейсов на устройстве, нас будет интересовать Wi-Fi, у меня это &lt;b&gt;wlan0&lt;/b&gt;, рядом будет написан соответствующий интерфейс IP-адрес.&lt;br/&gt;
Чтобы выйти из консоли на устройстве используем команду &lt;i&gt;exit&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;/div&gt;</description>
<pubDate>Sat, 31 Oct 2015 11:10:05 +0300</pubDate>
</item>


</channel>
</rss>