
ADB (Android Debug Bridge) е основният инструмент за комуникация между вашия компютър и вашето Android устройство , както чрез USB, така и чрез Wi-Fi. В тази статия ще научите стъпка по стъпка как да инсталирате, конфигурирате и използвате ADB на Debian и Ubuntu (приложимо и за производни като Linux Mint), както и как да го интегрирате във вашата система за по-лесна употреба и как да се възползвате от някои от най-полезните му команди.
Днес пиша урок за това как да използвате ADB команди в Debian дистрибуции и, следователно, Ubuntu . Това ще бъде полезно за тези, които не искат да инсталират Ubuntu за постоянно. Всичко описано по-долу може да се направи чрез зареждане от LiveCD/Live USB . Разбира се, имайте предвид, че при изключване всички промени ще бъдат изтрити и за да стартирате ADB отново, ще трябва да следвате урока отново . За повече помощ или предложения, вижте публикацията в нашия форум.
Какво точно е ADB? ADB е съкращение от Android Debug Bridge . Това е набор от инструменти за команден ред, които се доставят с Android SDK и ви позволяват да контролирате много от функциите на телефона си от вашия компютър.
С ADB можем да правим всичко - от инсталиране и деинсталиране на приложения , преместване или копиране на файлове между устройството и компютъра, до достъп до вътрешна Unix обвивка за изпълнение на разширени Linux команди директно на телефона. Ако имаме root достъп, можем дори да редактираме или изтриваме системни файлове , да флашваме компоненти и да възстановяваме привидно „мъртви“ устройства.
Освен това, ADB функционира като клиент-сървър архитектура с три основни компонента, които е важно да се разберат, за да се разбере как работи:
- ADB клиент: е програмата, която стартирате на компютъра си, когато въведете командата ADB в терминала. Изпратете командите към сървъра.
- adbd демон: е процес, който се изпълнява в във фонов режим на устройството с Android и е отговорен за приемането и изпълнението на команди.
- ADB сървърТой работи на вашата машина за разработка и е този, който управлява комуникацията между клиента и демона, използвайки по подразбиране TCP порт 5037.
Благодарение на тази структура можете да имате няколко устройства или емулатори, свързани едновременно, и да ги управлявате всички от един компютър, чрез USB или безжично дебъгване (WiFi/TCP-IP).

Конфигурирайте правилата на udev, така че ADB да разпознава вашия Android
Преди да използвате ADB на Debian/Ubuntu, е важно правилно да дефинирате правилата за udev , подсистемата, която управлява устройствата в Linux. Това позволява на системата да идентифицира мобилното ви устройство чрез USB, използвайки неговия idVendor , и да предостави необходимите разрешения за безпроблемна работа на ADB.
Първо, настройваме „правилата“ в udev. Тоест, отваряме конзолата (Приложения > Аксесоари > Терминал) и пишем:
За Ubuntu:
sudo gedit /etc/udev/rules.d/51-android.rules
За Debian:
Sudo су
gedit /etc/udev/rules.d/51-android.rules
И в двата случая ще трябва да въведете администраторската си парола , за да завършите процеса. Ако използвате KDE вместо GNOME, трябва да замените Gedit с предпочитания от вас текстов редактор, като например Kate , Nano и др.
Ще се отвори редакторът Gedit и в този файл трябва да добавим следния основен ред с правила за ADB:
SUBSYSTEM == »usb | usb_device», SYSFS {idVendor} == »0bb4 ″, SYMLINK + =» android_adb », MODE =» 0666 ″, USER = »root»
ЗАБЕЛЕЖКА: Има няколко неща, които трябва да имате предвид, когато използвате този ред:
- idVendor се променя в зависимост от производителя. Промяна 0bb4 от вашия производител, като разгледате следната таблица:
- В раздел ПОТРЕБИТЕЛЯЗа Ubuntu трябва да поставим коренАко използваме Debian, ще трябва да инсталираме нашето потребителско имеНапример: ПОТРЕБИТЕЛ="еди-кой-си".
Когато приключим с добавянето на реда, трябва да запазим и затворим файла.
След това трябва да рестартираме услугите udev . Това може да се направи чрез рестартиране на компютъра, въпреки че следният начин е по-бърз:
/etc/init.d/udev рестартиране
Ако имате проблеми с разрешенията или устройството не се показва с „adb devices“ , препоръчително е да проверите:
- на idVendor съвпада с този на вашия производител.
- Че файлът /etc/udev/rules.d/51-android.rules има разрешения за четене за всички (chmod a+r (ако е необходимо).
- Изключете и стартирайте отново мобилното си устройство след рестартиране на udev.
Изтеглете и инсталирайте Android SDK и Platform-tools
Сега трябва да изтеглим Android SDK , или по-скоро пакета Platform-tools , който включва инструмента adb и други помощни програми като fastboot . Можете да направите това от следния официален линк за Android , където Google винаги публикува най-новата версия.
Използваме Linux, така че ето какво трябва да направите: изтеглете ZIP файла на Linux. След като изтеглянето приключи, разархивирайте го. Препоръчително е да направите това в домашната си директория, за да опростите пътищата. Можете обаче да изберете вашия работен плот или всяко друго място и да адаптирате пътищата на урока съответно. Аз ще използвам домашната си директория и съм кръстил папката android-sdk, за да сведа до минимум писането.
В папката SDK ще намерите директорията platform-tools . Там се намира изпълнимият файл adb . По-късно ще видим как да го добавите към вашия PATH, за да можете да го извиквате отвсякъде.
Ще отидем в папката android-sdk (която току-що разархивирахме) и след това в папката tools . Вътре има файл, наречен android . Щракнете с десния бутон върху него и изберете Properties . Отидете в раздела Permissions (Разрешения), изберете опцията „ Allow executing file as a program (Разрешаване на изпълнение на файл като програма) “ и го затворете. Сега щракнете двукратно върху файла и изберете „ Run in Terminal (Изпълни в терминал) “. По този начин, ако има проблем, който пречи на изпълнението му, той ще ни каже.

С нова инсталация на Ubuntu обикновено няма проблеми, но ви е необходима Java и някои библиотеки . Ако това е вашият случай и сте получили грешка при стартиране на SDK мениджъра:
- Инсталирайте Java (например OpenJDK от софтуерния център на Ubuntu или с apt).
- Класическите библиотеки, необходими в 64-битовите системи, са:
ia32-libs lib32asound2 lib32gcc1 lib32ncurses5 lib32stdc ++ 6 lib32z1 libc6-i386 libc6 libc6-dev
С отворен SDK Manager (Android SDK и AVD Manager), отидете на опцията „Налични пакети“ и инсталирайте:
- Android SDK Инструменти.
- Инструменти за платформата Android (включва adb и fastboot).
Оставяме го да си свърши работата и да приключи. Оттук нататък двоичният файл на adb ще бъде достъпен в android-sdk/platform-tools.
Бърза алтернатива: Инсталирайте ADB от хранилищата на Debian/Ubuntu
В Debian, Ubuntu и производните им версии, инсталирането на целия SDK не е задължително, ако искате да използвате ADB и fastboot само за основни задачи. Можете да използвате предварително компилираните пакети на системата :
sudo apt инсталирайте android-tools-adb android-tools-fastboot android-tools-fsutils
С тези пакети ще имате налични инструменти adb и fastboot в PATH на вашата система, готови за използване от всеки терминал, без да е необходимо да изтегляте нещо допълнително от уебсайта на Google.
След като изпълните тези прости стъпки, ще можете да използвате както ADB , така и fastboot от вашата Debian или Ubuntu система. За разлика от Windows, където трябва да сте в директорията на изпълнимия файл, за да изпълнявате команди, в Debian/Ubuntu двоичните файлове се инсталират директно по стандартен път (като /usr/bin ), така че можете да получите достъп до тях от всяка директория.
За да проверите дали инсталацията е била успешна, изпълнете следната команда в терминален прозорец:
версия на adb
Можете също да проверите fastboot :
fastboot
Ако видите помощта за командата или съответната версия, ще имате потвърждение, че инсталацията е била успешна.
Подгответе вашия Android: активирайте USB debugging и режим за разработчици
Преди да включим телефона, трябва да отидем в настройките му и да активираме опциите за разработчици и USB debugging . Типичният път на повечето устройства е:
- Посещение Настройки> Всичко за телефона.
- Натиснете няколко пъти върху Номер на сглобяване докато системата не покаже, че опциите за разработчици са активирани.
- отидете в Опции за програмисти.
- Активиране Отстраняване на грешки чрез USB (и, по избор, показване на известие за отстраняване на грешки).
В оригиналната статия се споменават и опции като „USB Debug notify“ и „Mock locations“; последните се използват за симулиране на GPS местоположения в тестови среди и могат да бъдат полезни за разработчици, тестващи приложения за карти или услуги за местоположение.
След като USB дебъгването е активирано, свържете телефона си към компютъра чрез USB кабел . На съвременните устройства ще видите изскачащо съобщение, което ви моли да оторизирате RSA ключа на компютъра . Важно е да поставите отметка в квадратчето „ Винаги разрешавай от този компютър “, за да не се налага да приемате всеки път.
Тествайте връзката: използвайте adb устройства
Сега можем да включим телефона си чрез USB и да проверим дали работи.
Отворете терминал (или предишния команден ред, и двата варианта ще работят). Използвайте командата `cd` , за да отидете до папката, където се намира ADB, ако използвате ръчния SDK. В моя случай:
cd / home / iulius / android-sdk / platform-tools
Не забравяйте, че името ви не е iulius, така че ще трябва да промените редовете в зависимост от вашия SDK. Ако не сте сигурни, затворете терминала и просто добавете:
cd / android-sdk / платформа-инструменти
На системи, където сте инсталирали пакетите android-tools-adb , няма нужда да се местите в специална папка; просто въведете командите директно.
Сега изпълняваме:
./adb устройства
Или, ако adb е в системния PATH:
в рамките на дневния устройства
И трябва да върне нещо подобно:
* Daemon не работи. като се започне сега на порт 5037 *
* Успешно Започната демон *
Приложен списък с устройства
Устройство SH0BDPL04538
Колоната за състояние може да показва:
- приспособлениеУстройството е свързано и реагира правилно.
- офлайнУстройството не отговаря или е в състояние, в което системата все още не е завършила стартирането си.
- неупълномощенRSA ключът не е приет от устройството (трябва да отключите екрана и да приемете заявката).
ADB вече е конфигуриран. Винаги, когато искаме да направим нещо, повтаряме стъпките за стартиране на adb и извършване на необходимите действия.

Основни команди и практическо приложение на ADB
След като инструментът е инсталиран, е полезно да знаете някои от най-често използваните му команди в Linux за ежедневна употреба:
- Списък на свързаните устройства:
в рамките на дневния устройства
- Рестартирайте устройството в нормален режим:
Adb рестартиране
- Рестартирайте в режим bootloader/HBOOT (за да използвате fastboot на съвместими устройства):
Adb рестартиране-буутлоудъра
- Рестартирайте в режим на възстановяване (много полезно, ако ROM паметта се повреди и системата не се стартира):
Adb рестартиране възстановяване
- Изпратете файл от вашия компютър в паметта на телефона си (SD карта или вътрешна памет):
adb push "име-на-файла-на-PC" /sdcard/
- Копиране на файл от телефона на компютъра:
adb pull /sdcard/"файл-на-телефона"
- Отворете интерактивна обвивка на устройството за да изпълнявате Linux команди директно там:
ADB черупки
- Изпълнете конкретна команда на телефона, без да влизате в интерактивна обвивка:
adb shell "команда"
С тези команди можете например, инсталирайте APK с adb install, деинсталирайте пакети с adb uninstall, правете екранни снимки с adb shell screencap или дори екран за запис с adb shell screenrecord на съвместими устройства.
Fastboot: идеалното допълнение към ADB за буутлоудъра
Освен ADB, често се споменава Fastboot , друг инструмент, използван за модифициране на софтуера на Android устройството от буутлоудъра . Докато ADB работи, когато системата е стартирана (или в режим на възстановяване), Fastboot работи, когато устройството е в режим на буутлоудър.
С fastboot можете, наред с други неща:
- Отключете буутлоудъра на съвместими устройства.
- Flash .img изображения възстановяване, зареждане или система.
- Рестартирайте устройството или бързо се върнете към буутлоудъра.
Някои примери за използване на fastboot:
- Списък на устройства в режим на зареждащо устройство:
fastboot устройства
- Рестартирайте устройството от fastboot:
fastboot рестартиране
- Връщане към буутлоудъра от fastboot:
Бързо стартиране на bootloader
- Флашване на определен дял (много мощна команда, използвайте с повишено внимание):
fastboot флаш памет "дял" "file.img"
Не забравяйте, че за да използвате fastboot, телефонът ви трябва да е в режим bootloader/HBOOT . Можете да го въведете ръчно, като използвате комбинацията от бутони на производителя или да използвате:
Adb рестартиране-буутлоудъра
Тези видове операции могат да повредят системата, ако се използват неправилно , затова е препоръчително да следвате стриктно специфичните ръководства за вашия модел устройство.
Направете ADB по-лесен за използване: добавете го към вашия PATH
За тези, които предпочитат удобството (аз никога не правя тази стъпка, не ми харесва) и не искат да използват `cd` за навигация до папката, можете да редактирате вашия bash профил , за да добавите ADB пътищата към системния PATH. Това ще ви позволи да стартирате adb и fastboot от всяка директория.
Отваряме нов терминал и пишем:
sudo gedit .bashrc
И добавяме в края:
експортиране на PATH=${PATH}:/начало/ВАШИЯТ_ПОТРЕБИТЕЛ/android-sdk/платформени-инструменти
експортиране на ПЪТ=${ПЪТ}:/начало/ВАШИЯТ_ПОТРЕБИТЕЛ/android-sdk/инструменти
Заменете YOUR_USERNAME с действителното си потребителско име и запазете файла. За да приложите промените, можете да излезете и да влезете отново, да рестартирате компютъра си или да изпълните:
източник ~ / .bashrc
От този момент нататък всичко ще бъде готово за работа с ADB на вашия Android, без да е необходимо да отваряте папката SDK всеки път.

Използвайте ADB безжично (WiFi / TCP-IP)
В допълнение към традиционната USB връзка, ADB ви позволява да комуникирате с устройството чрез Wi-Fi . Това е особено полезно, ако USB портът е повреден, ако искате да се движите безжично или ако отстранявате грешки на множество устройства в мрежа.
Класическата процедура за Android е:
- Свържете устройството чрез USB и се уверете, че се появява в в рамките на дневния устройства.
- Активиране на TCP/IP режим на порт 5555:
adb tcpip 5555
- Изключете USB кабела.
- Вземете IP адрес на телефона (например в Настройки > Информация за устройството > Състояние > IP адрес).
- Свържете се през мрежата, използвайки този IP адрес:
adb connect IP_ADDRESS:5555
Ако всичко върви добре, устройството ще се появи отново в adb devices , но ще бъде идентифицирано чрез своя IP:port . Оттам можете да използвате ADB, сякаш все още е свързано чрез USB.
Има приложения като ADB Wireless (изисква root), които автоматизират част от процеса директно от телефона.
И това е всичко. Всичко е готово за работа с ADB на нашето Android устройство, както на Debian, така и на Ubuntu, като се възползваме максимално от мощността на този инструмент за инсталиране на приложения, отстраняване на грешки, възстановяване на устройства и автоматизиране на задачи от удобството на командния ред.

Чрез овладяването на тези стъпки и команди, вашата Linux среда се превръща в много мощна Android работна станция , способна да се справя с всичко - от прости задачи за копиране на файлове до разширени операции с bootloader и отстраняване на грешки в приложенията.
