Урок 8. Для разработчиков: режим разработчика, отладка по USB и ADB
Этот урок — для тех, кто пишет приложения или хочет управлять телефоном с компьютера: ставить APK, копировать файлы, смотреть журнал ошибок. Инструмент для этого — ADB (Android Debug Bridge), программа командной строки от Google.
Параметры разработчика
На телефоне есть скрытый раздел настроек «Для разработчиков» (у Samsung — «Параметры разработчика»). Чтобы он появился, найдите в «Настройки → О телефоне» строку «Номер сборки» и нажмите на неё семь раз подряд. Телефон может спросить PIN-код, а затем покажет «Вы стали разработчиком!». Где эта строка у разных производителей — в справке Как включить режим разработчика.
Сам раздел появится в «Настройки → Система → Для разработчиков» (у Samsung — в конце главного списка настроек). В нём много переключателей для отладки приложений. Меняйте только то, что понимаете: часть настроек влияет на скорость и стабильность телефона. Главный переключатель вверху экрана выключает режим разработчика целиком.
Отладка по USB
В разделе «Для разработчиков» включите «Отладка по USB». Подключите телефон к компьютеру кабелем, который передаёт данные (не всякий кабель для зарядки это умеет). Когда компьютер впервые обратится к телефону, на разблокированном телефоне появится окно «Отладка по USB» с цифровым отпечатком ключа RSA этого компьютера. Нажмите «Разрешить» — и, если компьютер ваш, отметьте «Всегда разрешать отладку с этого компьютера». Без этого подтверждения компьютер команды ADB выполнять не может.
Разрешённый компьютер получает широкий доступ к телефону: ставит приложения, читает файлы, снимает экран. Разрешайте отладку только своему компьютеру. Если окно с вопросом появилось у чужого компьютера или у зарядной станции в общественном месте — откажите. После работы выключайте отладку, а кнопка «Отозвать доступ для отладки по USB» в том же разделе забывает все разрешённые компьютеры.
Установка ADB
ADB входит в пакет SDK Platform Tools. Если на компьютере стоит Android Studio, он уже есть — в папке platform-tools внутри Android SDK. Отдельно пакет скачивается с developer.android.com, страница SDK Platform Tools: там архивы для Windows, macOS и Linux.
- Распакуйте архив в удобную папку, например
C:\platform-tools. - Откройте в этой папке терминал (в Windows — PowerShell).
- Подключите телефон и проверьте связь — команда зависит от системы компьютера.
WindowsPowerShell
Программа из текущей папки запускается с .\ впереди:
cd C:\platform-tools
.\adb devicesДля некоторых телефонов в Windows нужен USB-драйвер производителя. Для Pixel это Google USB Driver, для других — драйвер с сайта производителя телефона.
Linux и macOSтерминал
Программа из текущей папки запускается с ./ впереди (здесь архив распакован в домашнюю папку):
cd ~/platform-tools
./adb devicesВ Ubuntu и Debian ADB есть и в репозитории — пакет adb (sudo apt install adb), но версия там бывает старее.
Чтобы набирать просто adb из любой папки, добавьте папку platform-tools в переменную окружения PATH — список папок, в которых система ищет программы.
Список устройств
$ adb devices
List of devices attached
R58M12ABCDE unauthorizedСостояние справа говорит, что с телефоном:
| Состояние | Что значит |
|---|---|
device | Всё в порядке, можно работать. |
unauthorized | Отладку не подтвердили — разблокируйте телефон и разрешите в окне на экране. |
offline | Телефон не отвечает — переподключите кабель, перезапустите ADB. |
| список пуст | Отладка по USB выключена, кабель только для зарядки или не установлен драйвер. |
После разрешения на телефоне:
$ adb devices
List of devices attached
R58M12ABCDE deviceЕсли ADB перестал отвечать, его фоновый сервер перезапускают: adb kill-server, затем любая команда adb запустит его снова.
Основные команды
| Команда | Что делает |
|---|---|
adb install app.apk | Устанавливает APK с компьютера на телефон |
adb uninstall com.example.app | Удаляет приложение по имени пакета |
adb push файл /sdcard/Download/ | Копирует файл с компьютера на телефон |
adb pull /sdcard/DCIM/Camera/ . | Копирует папку с телефона в текущую папку компьютера |
adb shell | Открывает командную строку на телефоне, выход — exit |
adb shell pm list packages | Выводит имена пакетов установленных приложений |
adb logcat | Показывает журнал системы и приложений, остановка — Ctrl+C |
adb reboot | Перезагружает телефон |
/sdcard — это внутренняя память, которую видно в файловом менеджере. Если подключено несколько устройств, нужное выбирается ключом -s с его номером из adb devices: adb -s R58M12ABCDE install app.apk.
Отладка по Wi‑Fi
С Android 11 ADB работает и без кабеля, если телефон и компьютер в одной сети Wi‑Fi.
- В разделе «Для разработчиков» включите «Отладка по Wi-Fi» и разрешите отладку в этой сети.
- Нажмите на сам пункт «Отладка по Wi-Fi», затем «Подключить устройство с помощью кода подключения». Телефон покажет адрес с портом и шестизначный код.
На компьютере выполните сопряжение с этим адресом и портом — ADB попросит ввести код:
adb pair 192.168.1.20:37851Сопряжение делается один раз. Для работы нужен другой адрес и порт — строка «IP-адрес и порт» на экране «Отладка по Wi-Fi». Подключитесь к нему:
adb connect 192.168.1.20:41235Адреса и порты у вас будут свои — смотрите на экране телефона. После этого adb devices покажет телефон, и все команды работают как по кабелю.
Root и разблокировка загрузчика
На форумах часто советуют получить root — полный доступ к системе — или разблокировать загрузчик, чтобы поставить другую прошивку. Для разработки приложений это не нужно.
Разблокировка загрузчика стирает все данные на телефоне. С разблокированным загрузчиком или root часть банковских и платёжных приложений перестаёт работать, защита телефона слабеет, а производитель может отказать в гарантийном ремонте. Ошибка при прошивке может сделать телефон неработоспособным. Команды ADB, которые удаляют системные приложения, тоже могут сломать загрузку телефона.
Что дальше
Приложения для Android пишут в Android Studio на языке Kotlin: основы языка и первые шаги в Android Studio — в теме Kotlin. Android Studio сама ставит приложение на телефон через ADB, вручную набирать команды для этого не нужно.
Коротко
- «Для разработчиков» появляется после семи нажатий на «Номер сборки» в разделе «О телефоне».
- «Отладка по USB» разрешает компьютеру управлять телефоном через ADB — только своему компьютеру.
- ADB — из пакета SDK Platform Tools; проверка связи —
adb devices. unauthorized— подтвердите отладку на экране телефона.adb install,adb push,adb pull,adb shell,adb logcat— основные команды; без кабеля —adb pairиadb connect(Android 11 и новее).