Ако работите с Android на напреднало ниво или обичате да експериментирате с телефона си, рано или късно ще попаднете на ADB. Този инструмент от командния ред позволява много дълбок системен контрол, но традиционно винаги е бил свързван с типичния... USB кабел и USB отстраняване на грешки са активираниОт Android 11 насам всичко това се променя: сега е възможно да използвате ADB напълно безжично, с по-голямо удобство и без да се налага постоянно да включвате и изключвате телефона.
Новата безжична система за пречистване въвежда и процес на Сигурно Wi-Fi сдвояване с QR код или PIN кодПроектирано за употреба както в Android Studio, така и от командния ред, това ръководство ще ви покаже подробно как работи ADB, как да извлечете максимума от безжичния режим в Android 11+ (включително трикове за автоматизирането му) и какви алтернативи имате, ако използвате по-стари версии на Android или специални устройства като Chromebook.
Какво е ADB и защо си струва да се използва през Wi-Fi?
Android Debug Bridge или ADB е конзолен инструмент, който създава комуникационен канал. между вашия компютър и устройство с Android. Този канал позволява действия, които далеч надхвърлят това, което предлага нормалният системен интерфейс: разширено инсталиране и деинсталиране на приложения (включително много предварително инсталирани), достъп до Unix обвивката на устройството, копиране на файлове, снимки на екрана и заснемане на видео, системни команди, автоматизирано тестване и др.
Традиционно тази комуникация се осъществяваше чрез USB с помощта на опцията „USB Debugging“ в опциите за разработчици. Класическият работен процес е: свързване на кабела, оторизиране на компютъра на мобилното устройство, стартиране на команди от директорията platform-tools на вашия компютър и сте готови. Проблемът е, че това включва физически наблизо телефон, кабели, евентуално Драйвери за Android устройства на компютъра и портове, и е доста неудобно, когато работите с множество устройства или трябва да се местите.
С Android 11 и по-нови версии е възможно да се използва ADB през Wi-Fi със защитен процес на сдвояванеНе само е по-удобно, но и избягва много главоболия с USB драйвери, дефектни портове или Chromebook-и, които просто не поддържат ADB през USB. Освен това отваря вратата за автоматизиране на активирането на безжичния ADB при всяко стартиране на телефона, използвайки инструменти като Tasker и Termux.
Как да активирам опциите за разработчици и безжичното отстраняване на грешки?
Преди да можете да се свържете чрез ADB, било то чрез кабел или Wi-Fi, трябва да активирате Опции за разработчици на вашето устройство с AndroidВ Android 11+ процесът е обичайният: отидете в Настройки> Всичко за телефона (o Информация за устройството) и намерете секцията Номер на сглобяване o версияДокосвайте неколкократно, докато се появи съобщение, например „Вече сте разработчик“Ако имате нужда от по-пълно обяснение, вижте Как да активирате и овладеете режима за разработчици на Android.
След като тези опции са активирани, ще можете да търсите, използвайки вътрешното поле за търсене в главното меню с настройки. „Опции за разработчици“ и въведете директно. В този раздел ще намерите двата ключа към целия този въпрос: Отстраняване на грешки чрез USB И на Android 11 или по-нова версия, новата Безжично отстраняване на грешкиПоследното е това, което трябва да активирате, за да използвате ADB през Wi-Fi, без да разчитате на кабел.
Първия път, когато активирате безжичното отстраняване на грешки, Android ще покаже прозорец с молба да потвърдите използването му. текущата Wi-Fi мрежа като разрешена мрежа За отстраняване на грешки. Поставете отметка в квадратчето „Винаги разрешавай в тази мрежа“ и натиснете позволиИмайте предвид, че е препоръчително да използвате надеждни мрежи, тъй като командите с дълбок достъп до устройството ще се предават през този канал.
Безжичен ADB на Android 11+ с Android Studio (QR код или PIN код)
Ако използвате Android Studio, от версията Bumblebee нататък, имате вграден помощник, който извършва Wi-Fi сдвояване практически без докосване на терминала. Тази система от Лесно сдвояване чрез QR код или PIN код Работи само на устройства с Android 11 или по-нова версия.
На компютъра си отворете Android Studio и намерете диспечера на устройствата, обикновено в Диспечер на устройства в изгледа на физическите устройстваВътре ще намерите опция, наречена Сдвояване чрез Wi-Fi или подобно. Докосването му отваря изскачащ прозорец с два раздела: единият за сдвояване чрез QR код (Сдвояване с помощта на QR код) и друг, за да го направи с числов код (Сдвояване с помощта на код за сдвояване).
В раздела с QR код ще видите QR код, генериран от Android StudioАко го проверите с друг скенер, ще видите, че той по същество съдържа профил за Wi-Fi връзка, който IDE използва за установяване на тунела за отстраняване на грешки. Важно е да го сканирате изключително от собствения поток за безжично отстраняване на грешки на Android, а не от скенер или приложения на трети страни.
На мобилното си устройство, с активирани опции за разработчици, отидете на „Безжично отстраняване на грешки“ в менюто за разработчициНе е необходимо да се активира USB дебъгването. Там ще видите опциите за сдвояване. За QR метода изберете „Свързване на устройство с QR код“ Насочете камерата към кода, показан на екрана на Android Studio на вашия компютър. Процесът на сдвояване ще завърши за секунди и устройството ще бъде регистрирано като сдвоено.
Ако сканирането на QR код ви създава проблеми, можете да използвате раздела за цифров код. В Android Studio изберете „Сдвояване с код за сдвояване“ и натиснете бутона „Сдвояване“Ще се отвори диалогов прозорец за въвеждане на шестцифрен код. На мобилното си устройство, на същия екран за безжично отстраняване на грешки, докоснете „Връзка със синхронизационен код“ Обърнете внимание на номера и порта, показани от системата. Въведете ги в полето Android Studio и след проверка устройството ще бъде сдвоено точно както е било с QR кода.
Оттам нататък мобилният телефон ще се покаже достъпен за Стартирайте приложения, отстранявайте грешки и използвайте ADB от раздела Терминал в Android Studio или от системната конзола, а за дистанционно управление можете Използвайте scrcpy от Windows за да управлявате вашия Android. Ако командата не бъде разпозната от вградения терминал adbУверете се, че сте в директорията, която съдържа двоичните файлове, обикновено %LOCALAPPDATA%\Android\SDK\platform-tools в Windows или еквивалентната му версия в macOS и Linux.
Свържете се чрез Wi-Fi, използвайки командния ред в Android 11+

Android 11 ви позволява да използвате безжично дебъгване изключително от конзолата, без да е необходимо да отваряте Android Studio. За да направите това, с Безжичното отстраняване на грешки е активирано на мобилно устройство, влезте в същия екран на опцията и използвайте менюто „Свързване на устройство със синхронизационен код“Там ще видите IP адреса, порта и временния код за сдвояване.
На вашия компютър отворете терминал в директорията на Инструменти за платформата Android SDK (папка platform-tools) и изпълнява команда, подобна на тази:
adb pair IP_DEL_DISPOSITIVO:PUERTO
Самият adb След това ще ви помоли да въведете шестцифрения код за сдвояване, показан на екрана на мобилното ви устройство. Въведете го и ако всичко върви добре, сдвояването ще бъде записано. Тази стъпка свързва сигурно вашата работна станция с устройството.
След като сте сдвоили, можете да се свържете директно с:
adb connect IP_DEL_DISPOSITIVO:PUERTO
В много случаи, след сдвояване и благодарение на mDNS, самият ADB сървър може автоматично откриване на свързаното устройство без да е необходимо да въвеждате отново IP адрес и порт, но ако мрежата ви не обработва добре mDNS, ръчният метод с adb connect ip:puerto Това е надеждният вариант.
От този момент нататък можете да използвате всички класически ADB команди през Wi-Fi: adb devices За да видите списъка с устройства, adb install за инсталиране на APK файлове, adb shell да влезе в черупката, adb pull/push за прехвърляне на файлове или помощни програми като screencap y screenrecord за екранни снимки и записи на екрана. За повече ресурси как управлявайте мобилния си телефон от компютъра си, Разгледайте управление на мобилно устройство от компютър.
Безжична ADB без Android 11: Wi-Fi връзка след първоначална настройка на USB
Ако устройството ви използва Android 10 или по-стара версия (или ако искате метод, съвместим и с 11+), можете да използвате класическата схема, където ADB Конфигурира се веднъж през USB и след това се използва през Wi-FiТози поток все още се поддържа в съвременните версии, въпреки че в Android 11+ новата система за сдвояване е по-безопасна и по-удобна.
Традиционната процедура е: свържете телефона към компютъра чрез USB, проверете дали USB отстраняването на грешки е активирано и командата adb devices то го открива като приспособлениеСлед това, от терминала, изпълнете:
adb tcpip 5555
Тази команда рестартира ADB демона на телефона, така че той да слуша на порт 5555 чрез TCP/IP. В този момент можете да изключите USB кабела.
Следващата стъпка е да разберете IP адрес на устройството във вашата локална мрежаНа стандартен телефон с Android ще го намерите в Настройки > За телефона > Състояние > IP адресОбикновено има такъв формат 192.168.1.xСлед като го имате, изпълнете следното на вашия компютър:
adb connect 192.168.1.X:5555
Ако не посочите порт, adb По подразбиране използва 5555. Ако всичко е правилно и мрежовата защитна стена не блокира порта, устройството ще отговори и когато го направите adb devices Ще го видите обозначено с неговия IP адрес и порт, в състояние „устройство“.
Същият модел може да се възпроизведе и с други портове, ако се нуждаете от съвместимост с по-строги защитни стени. Ключът е мрежата и устройството да позволяват трафик на... ADB порт (по подразбиране, 5555) и че както мобилното устройство, така и работната станция са в една и съща мрежа или сегмент.
Използване на ADB през Ethernet и специални случаи, като например Chromebook
В среди, където Wi-Fi мрежата е силно контролирана или има ограничения за сигурност, алтернативата е да се използва ADB през Ethernet, използвайки физически кабел чрез свързване на устройството към същата мрежа като екипа за разработка. Концептуално това е същото като Wi-Fi TCP/IP режим, но вместо Wi-Fi, мрежовият интерфейс е кабелен.
За обикновени устройства с Android, които не работят с ChromeOS, може да се наложи, както в случая с класическия Wi-Fi, да се стартира adb tcpip 5555 след първоначална USB връзкаСлед като телефонът започне да слуша на този порт, можете да изключите USB кабела и да работите само с Ethernet мрежовия кабел и IP адреса, зададен от мрежата.
В случая с Chromebook, много от тях не поддържат ADB през USB, така че единствените жизнеспособни опции са Wi-Fi или Ethernet. Типичният Ethernet поток се състои от задайте IP адреси в един и същ диапазон за машината за разработка и Chromebook (например, 192.168.1.3 за компютъра и 192.168.1.2 за Chromebook), използвайки инструменти като ifconfig или мрежовата конфигурация на системата. След това на компютъра се изпълнява програма. adb connect 192.168.1.2:5555 а останалото работи по същия начин като всяка ADB TCP/IP връзка.
Конфигурирайте ADB в системния път в Windows
Постоянната работа с ADB от конзолата може да бъде малко досадна, ако се налага ръчно да навигирате до папката всеки път. platform-tools за да може да се изпълняват командиВ идеалния случай тази папка трябва да бъде добавена към променливата на средата. Път на Windows, така че на adb да бъде разпознаваем от всяка директория.
За да направите това, отворете лентата за търсене на Windows и въведете „Преглед на разширените системни настройки“В прозореца, който се отваря, отидете на раздела Разширени опции и кликнете върху Променливи на околната средаВ блока на Системни променливи намерете входа Път и кликнете редактирам.
В редактора на пътища щракнете върху нов и въведете пълния път до папката, където се намира „платформени инструменти“ (напр. C:\Android\sdk\platform-tools)Потвърдете с OK във всички прозорци. От този момент нататък можете да отворите всеки команден ред или прозорец на PowerShell и да изпълните adb директно, без да се притеснявате за текущата директория.
ADB команди и разширени възможности (общ преглед)
Освен безжичната връзка, важно е да се разбере, че ADB се основава на... клиент-сървър архитектура, съставена от три компонентаклиентът (инструментът adb който изпълнявате на вашия компютър), демонът adbd който работи на всяко устройство с Android, и сървърът, който организира комуникацията между тях. Сървърът слуша на локален порт 5037 и поддържа връзки с емулатори и физически устройства, като ги открива по диапазони от портове или IP адреси.
Con adb devices -l Можете да изброите свързаните устройства с по-подробна информация. Всяко от тях показва сериен номер, състояние (офлайн, устройство или няма устройство) и описание. Ако работите с няколко устройства, можете да използвате adb -s SERIAL command или конфигурирайте променливата на средата ANDROID_SERIAL да насочвате команди към конкретен. Ако сте нови, това може да ви помогне възползване от режима за разработчици.
Сред най-полезните команди са adb install y adb uninstall за управление на APK файлове, включително тези, които са предварително инсталирани на системата с помощта на мениджъра на пакети (pmКомандата adb shell Отваря Unix обвивка на устройството, от която можете да стартирате инструменти като am (Мениджър на дейностите), pm (Мениджър на пакети), dpm (Диспечер на правила за устройства), logcat за записи, sqlite3 за бази данни (в среди с root достъп) или специфични за системата помощни програми.
Освен това е много практично конфигурирайте пренасочванията на портове с adb forwardкопирайте произволни файлове с adb push y adb pullи да контролира самия сървър с adb kill-server y adb start-serverПоследните помагат за разрешаване на случайни блокажи, когато ADB сървърът спре да отговаря или не открива устройства.
Допълнителни инструменти, като например screencap за екранни снимки и screenrecord за видеозапис Те ви позволяват да получите графичен материал от устройството с една проста команда. Например:
adb exec-out screencap -p > screen.png
О, добре:
adb shell screenrecord /sdcard/demo.mp4 последвано от a adb pull за да прехвърлите видеото на компютъра.
Безжично отстраняване на грешки: често срещани проблеми и решения
Безжичният режим не винаги работи гладко. Има няколко често срещани причини за това. Wi-Fi връзката с ADB може да се провалиЕдна от най-честите причини е, че Wi-Fi мрежата е корпоративна или силно защитена, блокирайки P2P връзки и портове като 5555. В този случай често единственото реалистично решение е да се използва друга мрежа, да се използва телефон като точка за достъп или да се прибегне до Ethernet.
Друг повтарящ се проблем е, че след успешно сдвояване на Android 11+, Устройството вече не изглежда достъпно чрез ADB.Това обикновено се дължи на ограничения на mDNS в мрежата или устройството. Ако mDNS не работи, ADB сървърът няма да открие автоматично мобилното устройство, но винаги можете да се свържете ръчно. adb connect ip:puerto използвайки данните, предоставени от екрана за безжично отстраняване на грешки.
Нормално е също така връзката да се прекъсва сама, когато телефонът смени мрежата или се изключи от Wi-Fi, което принуждава... Повторете стъпката на сдвояване или поне свързванетоАко безжичното отстраняване на грешки е деактивирано само по себе си, проверете в опциите за разработчици дали е налична бърза плочка. Безжично отстраняване на грешки за да го активирате по-лесно от завесата за бързи настройки.
Автоматизирайте използването на ADB през Wi-Fi на Android 11+ с Tasker и Termux
За напреднали потребители, които искат да избегнат повтарянето на процеса на активиране и свързване всеки път, когато рестартират мобилния си телефон, е възможно Автоматизирайте активирането на ADB Wi-Fi с помощта на Tasker и TermuxТова решение разчита на самия телефон, работещ adb локално (чрез android-tools в Termux) и управление на активирането и сдвояването на TCP/IP режим.
Основните изисквания са: устройство с Android 11 или по-нова версия с опция ADB Wi-Fi в настройките, да е свързан към Wi-Fi мрежа (не е необходим достъп до интернет), да има инсталиран Tasker, Termux заедно с плъгина Termux:Tasker и да е предоставил на Tasker разрешения като НАСТРОЙКИ_ЗА_ЗАЩИТА_ЗАПИС y ПРОЧЕТЕНИ_ДНЕВНИЦИ използвайки ADB или специфични инструменти. Тези разрешения позволяват на Tasker да променя настройките на защитената система и да чете записи в logcat.
Първата стъпка е да отворите Termux и да инсталирате пакета android-tools с командата pkg install android-toolsПо време на инсталацията може да се наложи да потвърдите някои въпроси. Когато приключите, опитайте да въведете adb в Termux, за да проверите дали работи правилно.
След това трябва да създадете структурата на папките и скриптовете, които Tasker ще изпълнява. От Termux изпълнете:
mkdir -p .termux/tasker
и след това създайте първия скрипт с:
nano .termux/tasker/adb.sh
Вътре в този файл трябва да поставите малък bash скрипт, който използва маршрутът на adb в Termux за свързване с хост (IP:порт), активиране adb tcpip 5555Изключете и прекратете връзката с ADB сървъра. Важно е първият ред да започва с #!/data/data/com.termux/files/usr/bin/bash (няма допълнително пространство зад подложката).
След това се създава втори скрипт, adb_pair.sh, отговорен за сдвояването на телефона с ADB Wi-FiОтново, от Termux:
nano .termux/tasker/adb_pair.sh
и поставете скрипт, който получава хоста (IP:порт) и кода за сдвояване като параметри, и прехвърлете този код през echo a adb pair и затворете сървъра, когато сте готови. Точно както преди, първият ред на скрипта трябва да съдържа правилния шебанг без никакви странни интервали.
След като скриптовете са създадени и запазени (в nano това се прави с Ctrl+X и приемане с „Y“), трябва да предоставите на Tasker достъп до средата Termux. В настройките на Android отидете на Приложения > Tasker > Разрешения > Допълнителни разрешения и активира опцията „Изпълняване на команди в средата на Termux“ или еквивалентна.
Оттук, вместо ръчно да настройвате всички профили и задачи в Tasker, можете Импортиране на цял проект от Taskernet с предварително конфигурирани профили за сдвояване на телефона, активиране на ADB Wi-Fi при стартиране и получаване на порта от logcat. Идеята зад тези профили е: единият се активира чрез задържане на бутона за увеличаване на силата на звука, за да се сдвои с помощта на скрипта adb_pair.shДруг се изпълнява, когато телефонът е отключен след зареждане, за да активира опцията „Отстраняване на грешки през WLAN“; а трети следи logcat за записи, свързани с Wi-Fi ADB, извлича порта и извиква скрипта. adb.sh за активиране adb tcpip 5555.
С тази конфигурация, ако всичко е сглобено правилно, всеки път, когато включите телефона си и го отключите Tasker се справя с активирането на WLAN дебъгване, заснемането на системния порт, изпълнението на вътрешни ADB команди от Termux и почти автоматичното настройване на сървър за слушане на порт 5555. След това, от вашия компютър, просто се свързвате с IP адреса на телефона на този порт, без да е необходимо да проверявате кода за сдвояване и временния порт всеки път.
Сигурност, най-добри практики и ограничения на безжичната ADB
Използването на ADB означава, че устройството е отворено за конзола с много привилегии, така че има някои добри практики за безопасност, които трябва да се спазватЗа начало, опитайте да ограничите безжичното отстраняване на грешки до надеждни мрежи (дом, контролиран офис, лаборатория) и избягвайте да го активирате в публични или споделени Wi-Fi мрежи, където не контролирате кой е свързан.
Не бива да споделяш и с никого. IP адрес, порт и кодове за сдвояванеВъпреки че срокът на валидност на кодовете в Android 11+ е ограничен, предоставянето на достъп до тях на някого може да му даде възможност да инсталира, деинсталира или променя системата на телефона ви. Ако подозирате, че сте сдвоили нежелано устройство, отидете на екрана за безжично отстраняване на грешки, проверете списъка „Сдвоени устройства“ и използвайте опцията „Забравяне“, за да отмените достъпа.
Освен това, това е добра идея Деактивирайте дебъгването (USB или безжично), когато не го използватеТова намалява повърхността за атака и предотвратява например компютър със зловреден софтуер във вашата локална мрежа да използва устройство с отворено дебъгване. И ако работите с автоматизирани скриптове, които активират ADB през Wi-Fi при всяко зареждане, уверете се, че разбирате въздействието и не оставяйте телефона си постоянно изложен на риск в мрежите на други хора.
Взети заедно, поддръжката на безжичен ADB в Android 11+ и традиционните TCP/IP опции (чрез USB, Wi-Fi или дори Ethernet) направиха отстраняването на грешки и разширения контрол на Android устройства много по-гъвкави и удобни. Чрез комбиниране на официалните SDK инструменти, Android Studio, конзолни помощни програми и решения за автоматизация като Tasker и Termux е възможно да се настрои работен процес, при който Едва ли някога ще ви се наложи да разчитате на USB кабела отново, освен в специфични случаи., като същевременно се поддържа разумно ниво на сигурност и се използва пълноценно потенциалът на ADB. Споделете информацията и помогнете на другите да използват ADB безжично на Android 11+.