Android: adb, fastboot, linux команды и лайфхаки
Содержание:
- (с предварительным подключением USB)
- Консоль в консоли
- Бэкап приложений
- What else can I do with ADB?
- Патченный adbd
- Как пользоваться ADB RUN WEB?
- Все еще не можете подключиться к ADB?
- How does ADB Work?
- Global options
- ADB Commands List
- Как пользоваться?
- Случаи, когда отладка спасает
- Установка ADB
- Старт ADB через командную строку или PowerShell
- ** ADB RUN 4 **
- Скачать программу ADB RUN (Win 7 — 10)
- Что умеет ADB RUN?
- Обзор инструкция ADB RUN
- Системные утилиты
- Копаем исходники ядра
- Команды Fastboot
- Второй способ – ручная установка
- Основы работы с ADB
- Using package manager (pm)
- Команды ADB
- Консоль в консоли
(с предварительным подключением USB)
- Скачайте и установите программу ADB RUN;
- Перейдите в Android «Настройки устройства -> О Смартфоне/Планшете -> Общая информация -> IP адрес», чтобы узнать присвоенный IP;
- Подключите Android смартфон или планшет к компьютеру по USB;
- Запустите программу ADB RUN и перейдите в меню Manual Command ->ADB;
- Введите следующую команды:
- Вы должны получить ответ в командной строке «restarting in TCP mode port: 5555″;
- И вводим: где XXX.XXX внутренний IP адрес который вы узнали из настроек Android;
- После этого отключаем USB кабель (иначе ошибка more than one device and emulator adb) и далее проводим отладку по Wi-Fi.
Отладка по Wi-Fi с предварительным подключением по USB осуществлена.
Консоль в консоли
Наряду с упомянутой консолью, которая является 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 shell dfПример работы команды ls для вывода информации о разделах
Бэкап приложений
В Android есть встроенные функции бэкапа, которые также можно запустить с помощью командной строки. Для этого используется команда adb backup и набор опций:
- -f указывает имя создаваемого файла и его расположение на компе. При отсутствии ключа будет создан файл backup.ab в текущем каталоге;
- -apk|-noapk указывает, включать ли в бэкап только данные приложения или сам .apk тоже (по умолчанию не включает);
- -obb|-noobb указывает, включать ли в бэкап расширения .obb для приложений (по умолчанию не включает);
- -shared|-noshared указывает, включать ли в бэкап содержимое приложения на SD-карте (по умолчанию не включает);
- -all указывает на необходимость бэкапа всех установленных приложений;
- -system|-nosystem указывает, включать ли в бэкап системные приложения (по умолчанию включает);
- <pack — перечень пакетов для бэкапа.
Если мы хотим создать бэкап всех несистемных прог, включая сами .apk, в определенное место, то команда будет выглядеть так:
После ввода необходимо подтвердить начало выполнения бэкапа на самом устройстве. Для восстановления полученного бэкапа нужно выполнить соответствующую команду:
Процесс бэкапа
What else can I do with ADB?
Below is a list of XDA tutorials for various devices that detail many applications of ADB commands in order to modify hidden settings, customize OEM features or user interfaces, and much more!
- How to disable any pre-installed system app bloatware on Android without root
- How to debloat your phone (and more) without connecting to a PC
- How to remove Facebook bloatware from the OnePlus 8 series and OnePlus Nord
- Tasker 5.9.2 beta lets you run ADB shell commands without being tethered to a PC
- Control your Android Smartphone from your PC for free with scrcpy
- How to Pair Android Wear Watches to New Phones without Factory Resetting
Патченный adbd
Т.к. мне надоело иметь доступ к урезанной консоли Android, а патчить бинарник adbd мне лень, то я решил собрать свой adbd с блэкджеком и шлюхами. Для этого пришлось скачать 70 Gb исходников Android, чтобы не возиться с каждой зависимостью по отдельности. Убрал проверку при которой происходит урезание capabilities, скомпилировал, подменил и получил полноценную root консоль. Теперь я могу монтировать файловые системы, смотреть dmesg без отключения dmesg_restrict, спокойно просматривать и редактировать файлы, которые не принадлежат root и многое другое. Но я пока не могу монтировать раздел и загружать модули в ядро.
Кстати, этой процедуры можно избежать, скомпилировав lsh и подставить его путь в . Желательно обернув запуск lsh в скрипт, который задаёт environment, иначе придется задавать полный путь к каждой команде.
Как пользоваться ADB RUN WEB?
Все очень просто! Для этого у вас должен быть установлен браузер на движке Chromium не ниже 89.X версии:
- Chrome
- EDGE
- Opera
Для того чтобы все заработало, необходимо в экспериментальных настройках активировать параметр (перевести в значение ENABLE) параметр «Enable new USB backend»:
- В Chrome перейдете по адресу chrome://flags/#new-usb-backend
- В EDGE перейдете по адресу edge://flags и вбейте в поисковую строку «USB backend» и активируйте параметр
- В Opera перейдите по адресу opera://flags/ и вбейте в поисковую строку «USB backend» и активируйте параметр
После включения параметра, перезапустите браузер!
- Перейдите на страницу
- Активируйте отладку по USB на телефоне и подключите к компьютеру, нажмите ADD Device и выберите устройство. Далее нажмите Connect и не забудьте разрешить авторизацию на телефоне!
Все еще не можете подключиться к ADB?
Если вы все еще не можете подключиться к ADB, возможно, у вашего устройства более серьезная проблема на уровне прошивки или оборудования. Основные проблемы с оборудованием включают следующее:
- Поврежденный USB-порт на вашем компьютере или смартфоне
- Неисправная прошивка на вашем смартфоне, как правило, вызвана кастомным ПЗУ
- Поврежденный или неисправный зарядный кабель
Например, у меня когда-то был планшет Nexus, который периодически отключался от компьютера. Даже после замены порта micro-USB планшет продолжал работать со сбоями. Причиной отключения оказалось глючное кастомное ПЗУ. Хотя пользовательские ПЗУ отлично подходят для восстановления старого оборудования, они создают еще один уровень сложности, который часто вызывает проблемы.
Существует множество потенциальных причин для устройства, которое отказывается подключаться через ADB. Попробуйте различные кабели и порты на вашем компьютере для устранения проблемы.
How does ADB Work?
Because there are three pieces that makeup ADB (the Client, Daemon, and the Server), this requires certain pieces to be up and running in the first place. So if you have freshly booted the computer (and you don’t have it setup to start the daemon on boot), then you will need it to be running before any communication can be sent to the target Android device. You’ll see this the following message in the command prompt or terminal, as it will check to make sure the daemon is running.
If the daemon isn’t running, then it will start the process and tell you which local TCP port it has been started on. Once that ADB service has been started, it will continue to listen to that specific port for commands that have been sent by the ADB client. It will then set up connections to all running devices which are attached to the computer (including emulators). This is the moment where you’ll receive the authorization request on the Android device if the computer hasn’t been authorized in the past.
Global options
Listen on all network interfaces instead of only on .
Direct an adb command to the only attached USB device. Returns an error when more than one USB device is attached.
Direct an adb command to the only running emulator. Returns an error when more than one emulator is running.
Direct an adb command to a specific device, referred to by its adb-assigned serial number (such as emulator-5556). Overrides the serial number value stored in the environment variable.
The name of the adb server host. The default value is .
The adb server port number. The default value is .
Listen on the provided adb server socket. The default value is .
ADB Commands List
As mentioned earlier, ADB commands are used when the device is powered on and you have access to the device. That is, you can unlock the device and grant ADB debugging permission to the computer. Listed below are some of the most common and useful ADB commands that you may need at some point. You can even use your Android phone like a PC to execute ADB and Fastboot commands.
adb devices
Shows all the devices connected to ADB. Can be used to make sure your device is connected properly before performing any other operations.
‘adb devices’ command
adb reboot
ADB can be used to reboot your device, useful when your hardware buttons aren’t working or if you’re already using ADB. You can also reboot directly into the recovery or bootloader using this command.
Reboots the device into the Fastboot or Bootloader mode.
adb reboot bootloader
adb install
It can be used to install an APK file on your Android device from your computer. It is more convenient than the alternative, which is to transfer the APK to the device and then install it. This command is generally used by developers or debuggers. Please note that you must copy the APK file to install in the ‘platform-tools’ folder, otherwise you’ll also have to type the location of the APK.
adb install OPLiveWallpapers.apk
Use the following command to re-install or update an existing app on your device and keep its data.
adb install -r OPLiveWallpapers.apk
If the app (APK) you are installing supports move to SD card feature, you can install it to the SD storage using the following command.
adb install -s OPLiveWallpapers.apk
adb install –k <.apk file path on computer>
Below are some more parameters that can be used with the ‘adb install’ command:
adb -e install path/to/app.apk
- -d (directs command to the connected USB device.)
- -e (directs command to the running emulator.)
- -s<serial number>
- -p <product name or path>
adb uninstall
This command can be used to uninstall an installed app, which is pretty clear from the command itself.
adb uninstall com.facebook.katana
Use the following command if you want to uninstall an app package but keep its data and cache directories.
adb uninstall -k com.facebook.katana
Keep the data and cache directories around after package removal.
adb logcat
Displays the log data onto the screen. You can use this command with the following parameters for different purposes as shown below.
adb logcat -d > //
adb jdwp
Lists the JDWP (Java Debug Wire Protocol) processes on the device. if you’re not already aware of it, chances are you don’t have to worry about it either.
Don’t Miss: 50 Best Apps for Rooted Android Devices
adb wait-for-device
This command is used to program delay before the next command is issued. It executes when the device is online but it can be programmed to wait till another process is done.
adb sideload
Just as you can flash zip packages from a custom recovery, you can also do it via adb sideload, provided the recovery supports it. TWRP recovery which is the most common custom recovery for all devices does support it. This way you can flash packages directly from your computer without having to transfer them first to your device or any external storage.
To sideload a mod or update.zip file successfully, you must copy it first to the SDK folder.
adb sideload sample.zip
adb pull
This command can be used to pull any files from your device and save it on your computer. To download or pull a file from your Android device to the SDK platform-tools directory, use
adb pull /sdcard/screenrecord.mp4
If you want to download a file from your phone’s storage to a specific drive on your computer, execute the following command
adb pull /sdcard/screenrecord.mp4 e:\
adb push
Similarly, this command can be used to push a file from your computer to your device. If the file to be pushed it save in the SDK folder, use
adb push OPLiveWallpapers.apk /sdcard
To push or send a file to your Android from a specific drive on your computer, use
adb push e:\OPLiveWallpapers.apk /sdcard
Having given you the above ADB commands list, let’s check out the ADB Shell commands list below.
By using this ADB command, you can create a full backup of your Android device and save to your computer.
adb backup //
Как пользоваться?
Поздравляем, вы установили ADB на свой девайс! Поскольку ADB установлен в Termux, все ADB команды, которые вы хотите выполнить, нужно вводить в том же Termux’е. Скорее всего, для того, чтобы установить ADB связь между Android устройством и компьютером вы использовали USB кабель. В данном случае USB подключение работать не будет, поэтому мы будем использовать функцию “ADB по сети”. Эту функцию нужно включить на устройстве, к которому вы хотите подключиться.
В большинстве устройств “ADB по сети” можно активировать в настройках системы в разделе “Настройки разработчика”, но если такой переключатель отсутствует, то активировать данную функцию можно, подключив целевое устройство к ПК с установленным ADB и выполнив на компьютере следующую команду:
adb tcpip 5555
После выполнения этой команды можно отсоединить кабель, компьютер нам больше не нужен.
Также можно активировать функцию “ADB по сети” на том же самом устройстве, на которое вы установили ADB, если вы хотите работать только с текущим устройством.
Для работы ADB по сети необходимо, чтобы все устройства, с которыми мы будем работать, были подключены к одной и той же сети Wi-Fi.
После успешной активации сетевой функции нам необходимо узнать внутренний IP-адрес целевого устройства. Его можно узнать с помощью различных сайтов, таких как https://2ip.ua, https://2ip.ru или же посмотреть в настройках Wi-Fi на нашем девайсе. Например, у меня это адрес 192.168.0.105.
Узнав адрес, мы можем подключиться к этому устройству по ADB, для этого нужно ввести в Termux команду:
adb connect ip
Где ip — адрес, который вы узнали. У меня эта команда будет выглядеть так:
adb connect 192.168.0.105
После подключения к устройству, вы можете вводить в Termux ADB команды, как и на обычном компьютере.
Случаи, когда отладка спасает
У любого пользователя Android случаются ситуации, когда отладка необходима позарез. Хорошо, что вы воспользовались инструкцией из прошлого раздела и активировали её. Теперь вы сможете:
- Получить на своём смартфоне/планшете рут-доступ с помощью специальных приложений для компьютера. Для этого включенная отладка необходима.
- Извлечь данные из устройства, у которого не работает дисплей. Этой проблеме мы посвящали отдельную статью.
- Восстановить устройство, если оно не загружается. Для этого надо воспользоваться специальными утилитами, которые для разных устройств и чипсетов могут отличаться. Ищите более подробную информацию конкретно о своей модели.
- Работать с командной строкой на компьютере, чтобы быстро скопировать файлы, установить приложение или сразу целый набор приложений, изменить права доступа к тому или иному файлу. Для этого на компьютере должна быть установлена программа ADB (Android Debug Bridge), позволяющая отдавать команды Android-среде на подключенном устройстве. Для неё существует как графический интерфейс, так и набор консольных команд, которые отдаются через командную строку.
В общем, если вы хотите извлечь максимум из функциональности своего Android-планшета или смартфона, режим отладки вам будет исключительно полезен.
Отладка по USB (USB Debugging)
— функция, предоставляющая широкие полномочия десктопным программам, и через нее они глубоко влияют на операционку Android. Перевод аппарата в данный режим актуален, по большей части, для разработчиков
Однако иногда это требуется и пользователям, чтобы справиться с системными неполадками и, что важно, — перенести файлы, папки из устройства с поврежденным дисплеем. Также появляется возможность восстанавливать удаленные документы, создавать бэкапы и др. Изначально USB Debugging выключен, но это не мешает, так как включить отладку по USB на Андроид несложно
Изначально USB Debugging выключен, но это не мешает, так как включить отладку по USB на Андроид несложно.
Отметим, что пути ее активации отличаются в зависимости от производителя устройства, однако суть всегда остается одинаковой: сначала идет разблокировка функционала «Для разработчиков», а затем все остальное.
Внимание! Иногда режим «Для разработчиков»
с самого начала активен, поэтому перед выполнением инструкции проверьте, есть ли он в настройках (можете воспользоваться для этого поиском по настройкам).
Мы приведем инструкции для включения отладки на разных девайсах, а также расскажем, что делать, если телефон не включается , а отладку нужно активировать.
Установка ADB
На устройствах под управлением Windows, установите драйвер для вашего Android-устройства.
Если драйвера для вашего устройства не нашлось на указанных страницах, попробуйте поискать его на сайте производителя.
Для MacOS и Linux установка драйверов не требуется.
Далее потребуется установить Android SDK Platform Tools. Если вы используете , скорее всего SDK Platform Tools у вас уже установлен.
Установка ADB в Windows
Скачайте и распакуйте папку platform-tools на диск (рекомендуется в С:\platform-tools).
В системную переменную Path добавьте путь к распакованной папке, для этого:
- перейдите в Панель управления – Система и безопасность – Система;
- выберите пункт Дополнительные параметры системы;
- нажмите кнопку Переменные среды;
- в поле Системные переменные выберите значение Path и нажмите кнопку Изменить, чтобы добавить новое значение;
- укажите путь к папке platform-tools содержащую adb;
- перезагрузите компьютер.
Установка ADB в Linux
Чтобы установить SDK Platform Tools в Ubuntu выполните следующую команду.
или
Либо вручную скачать , распаковать на диск и добавить путь к распакованной папке с platform-tools в переменную среды $PATH.
Установка ADB в MacOS
Самый простой способ установить SDK Platform Tools на MacOS, используя Homebrew.
Либо установить вручную.
Сперва удалите предыдущую версию android-platform-tools, если такая имеется.
Затем скачайте .
Перейдите в папку с загрузками, распакуйте скачанный архив и переместите файлы программы в удобное для вас место, например в домашнюю директорию.
Добавить путь к platform-tools в переменную среды $PATH.
Обновите bash профиль или перезапустите терминал.
Проверка ADB
Зайдите в консоль и введите следующую команду:
Если все сделали верно, в ответ в консоль будет выведена информация о версии ADB.
Старт ADB через командную строку или PowerShell
Когда все компоненты установлены, необходимо подключить свое устройство к компьютеру или ноутбуку и вызвать командную строку от имени администратора. Первым делом в ней необходимо перейти к папке с инструментами платформы, о которой говорилось выше. Например, вы установили весь пакет в каталог Android на диск «D» (вообще, глубоко прятать нужные папки не стоит, поскольку придется очень долго вводить абсолютные пути к ним). В консоли необходимо вписать команду перехода cd d:Androidplatform-tools, после чего следует нажать клавишу ввода.
Теперь вписываете искомую команду adb devices и ожидаете реакцию системы на подключенное устройство. Если связь будет установлена, на экране появится строка List of devices attached с указанием серийного номера подключенного устройства и статусом его состояния (online или offline). Консоль работает в режиме клиент-сервер, при котором в процессе обмена данными и создается виртуальный сервер (demon), поэтому не пугайтесь, если где-то и когда-то встретите такое упоминание. Это не вирус!
Также установить и запустить консоль с начальной командой adb devices можно при помощи инструмента PowerShell. Для этого достаточно зайти в папку platform-tools, а в меню ПКМ выбрать «Запустить PowerShell здесь». Но просто так среда функционировать не начнет (будет сообщено о том, что выполнение таких команд не предусмотрено), поэтому для ее активации именно в PowerShell впишите строку sdkmanager platform-tools, поставив перед основной командой атрибут «./» (без кавычек).
** ADB RUN 4 **
Буду благодарен всем за донат, а также это будет отличным стимулом, развивать программу дальше!
Скачать программу ADB RUN (Win 7 — 10)
ADB RUN
версия v.4.16.19.27
Что нового в программе ADB_RUN_v.4.16.19.27
Новое:—Удалено:—Исправлено:Несколько правок в меню connect Wi-Fi, небольшая чистка кодаОбновлено:Создание резервной копии в adb backup, скрипт массовой установки apk, при отправке файла на android (adb push) теперь отображается процент выполненной операции
Пример работы с программой версий 3.X.
Что умеет ADB RUN?
- Раздавать интернет с компьютера на Android
- Управлять Android с компьютера
- Прошивать в Fastboot
- Прошивать в Sideload
- Восстанавливать работу Xiaomi находящиеся в «в вечной загрузке»
- Снятие образа с разделов Android
- Удалять графический ключ
- Снимать скриншоты и записывать видео
- Объединять внутреннюю память с SD
и многое другое…
Обзор инструкция ADB RUN
В чем заключается суть программы ADB RUN? В чем так сказать плюсы, от обычного использования adb в командной строке?
Программа ADB RUN имеет псведо-графический интерфейс, куда забито множество различных команд, разбитых на категории, которые вы используете каждый день.
В этой программе гораздо быстрей и проще перезагрузить Android, а после прошить телефон в fastboot, сделать скриншот, выполнить бекап, выполнить сброс графического ключа.
Привыкли использовать командную строку? Одно нажатие и вы переключаетесь с ADB RUN в командную строку или adb shell, а можно вообще написать свой скрипт для автоматизации действий и скормить программе.
Примеры как работать с программой ADB RUN
За каждым пунктом в меню программы закреплена цифра. Нажимаем на клавиатуре необходимую цифру и кнопку ENTER, попадаем в необходимое меню, снова нажимаем необходимую цифру, чтобы выполнить действие.
Сейчас коротко изучим все пункты меню в программе Adb Run.
adb devices, fastboot decices — подключен ли телефон
Узнать видит ли ADB или Fastboot ваш телефон, проще простого. Все отображено в главном окне, вверху.
Меню Reboot Android — ADB RUN быстро перезагружает Android в выбранный режим — Download, EDL, Recovery, Bootloader.
Прошивка Fastboot в ADB RUN
ADB RUN позволяет прошивать в fastboot
Меню Fastboot позволяет стереть разделы, а также прошить их. Другими словами вы можете здесь установить прошивку на Android с помощью Fastboot в пару кликов.
ADB Sideload
Если у вас есть прошивка «по воздуху», то установить ее возможно с режима ADB Sideload. В ADB RUN, все сделано так, чтобы прошивка прошла как можно проще.
Скачать и отправить файлы на Android с помощью ADB Run
Перемещение файлов в adb run
Необходимо перемещать файлы? Тогда вам необходимо воспользоваться меню Move (Pull / Push).
Unlock Gesture Key
Меню Unlock Gesture Key — многим любимый раздел, все потому, что позволяет разблокировать графический ключ Android и появилась возможность разблокировать Pin-коды и фейс коды.
Unlock Bootloader
Если вам необходимо разблокировать Bootloader на Android, а возиться c adb не охота, то ADB Run упростит этот процесс, что разберется каждый.
Memory and Partition позволяет узнать все о существующих блоках и разделах Android.
Backup
Необходимо создать Backup? ADB RUN позволяет создать резервную копию с помощью adb, так и снять img образ с необходимого раздела. Читайте подробней создание резервной копии с Android девайса.
Install / Unistall Android App (APK)
Меню отвечающее за установку приложений, в том числе и массовую, либо же здесь вы сможете удалить системные apk Android.
Screenshot / Record
Необходимо создать скриншот экрана в программе или в режиме Recovery? А может записать скринкаст? Это также возможно!
Update ADB and Drivers
ADB Run работает благодаря утилите adb, которую периодически надо обновлять, сделать это можно прямо из программы. Также можно скачать новые драйвера Google Driver.
Системные утилиты
Кратко остановлюсь на нескольких полезных командах (работоспособность некоторых, однако, может зависеть от версии прошивки и модели телефона).
Изменение DPI. Не требует root и работает на Android 5.0+. Стандартное значение для Nexus 5 — 480. При значении 420 на рабочем столе стокового лаунчера помещается пять иконок в ряд вместо четырех:
$ wm density 420 && adb reboot
Подключение /system в режиме записи. Для части команд, которые меняют системные файлы, необходимо сначала перемонтировать раздел /system на запись. Это необходимо в том числе при удалении системных приложений. Перемонтирование выполняется следующей командой:
$ su # mount -o rw,remount /system
Мягкая перезагрузка:
$ setprop ctl.restart zygote
Перевод смартфона в режим энергосбережения Doze (Android M+):
$ dumpsys battery unplug $ dumpsys deviceidle step
…повторяем действия, пока не увидим idle.
Батарейка в процентах (Android 4.4+):
$ content insert —uri content://settings/system —bind name:s:status_bar_show_battery_percent —bind value:i:1
Копаем исходники ядра
Лицензия GPL обязывает производителей смартфонов выкладывать исходники ядра. Спасибо Линусу и Столлману за это. Иногда производители выкладывают что-то левое, иногда правильные исходники, но без файла, иногда правильные и очень редко с инструкцией как их собирать (например LG).
В моём случае были исходники с правильным но без инструкции. Немного попотев я смог собрать ядро и убедился, что это не полная липа.
Через продолжительное время я остановился на двух файлах:
- https://github.com/kayrus/kc-s701-torque-kernel/blob/master/security/selinux/hooks.c
- https://github.com/kayrus/kc-s701-torque-kernel/blob/master/arch/arm/mach-msm/restart.c
Команды Fastboot
- – вывод списка подключенных устройств, загруженных в режиме fastboot;
- – перезагрузка устройства, запуск Android;
- – перезагрузка устройства в режим восстановления (recovery);
- – проверка состояния загрузчика;
- – на старых устройствах, например, на всех моделях Google Nexus;
- – разблокировка загрузчика на новых устройствах, например, на всех моделях Google Pixel;
- – разблокировка загрузчика на устройствах, которые требуют прохождения процедуры получения кода. К таким устройствам относятся смартфоны и планшеты Xiaomi, Sony, HTC, Huawei, Honor и многих других производителей. Количество символов в коде подтверждения может отличаться;
- – блокировка загрузчика на старых устройствах;
- – блокировка загрузчика на новых устройствах;
- – блокировка загрузчика на устройствах, которые требуют прохождения процедуры получения кода;
- – вывод технической информации об устройстве, которая включает данные об IMEI, серийном номере, версии загрузчика, состоянии батареи и прочие сведения.
Второй способ – ручная установка
Xiaomi часто добавляет драйверы ADB непосредственно на смартфон. В таком случае их можно установить на компьютер.
Подключите Xiaomi к компьютеру через USB и оставьте его в обычном режиме зарядки (не переключайте соединение для передачи файлов и прочее). Затем откройте «Этот компьютер» через Проводник. В списке должна появится новая вкладка, например, отображаемая как Redmi Note 4.
Для установки драйверов нужно войти в Диспетчер устройств (нажмите Windows + R и введите devmgmt.msc). Разверните вкладку «Другие устройства» и дважды кликните левой кнопкой мыши на ADB Interface.
Перейдите на вкладку Драйвер и нажмите на кнопку «Обновить». Выберите вариант «Выполнить поиск на этом компьютере».
На следующем экране нужно выполнить поиск по выбранной папке. Нажмите на Обзор и укажите путь к папке «Redmi Note 4» (или на другую аналогичную, которая появилась после подключения телефона через USB).
Мастер установки найдет размещенные производителем драйвера и установит их. После завершения перезагрузите ПК.
Основы работы с ADB
Для начала работы с ADB его следует активировать на устройстве и установить утилиту adb и драйверы на комп. Первая задача выполняется с помощью включения «Отладки по USB» в пункте настроек «Для разработчиков» (если этот пункт скрыт, нажми семь раз на номер сборки в меню «О телефоне»).
Для установки ADB на комп качаем Adb Kit и распаковываем в любую папку (рекомендую использовать названия папок без русских символов). Также скачиваем и устанавливаем драйверы ADB.
Работать с adb нужно из командной строки. Нажимаем Win + R и вводим cmd, далее переходим в папку, в которой лежит adb. Для моей папки команда будет следующей:
Чтобы не проделывать все эти манипуляции каждый раз, можно добавить нужную папку в переменную Path. Для этого необходимо зайти в «Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды», найти переменную Path и добавить в конец строки, через точку с запятой, путь до папки с adb. Теперь после запуска консоли можно сразу вводить необходимые команды.
Добавление adb в переменную Path
Проверим наше подключение к телефону с помощью следующей команды (она должна вывести список подключенных устройств):
С ADB можно работать через Wi-Fi. Для этого нужны права root и приложение WiFi ADB. Запускаем приложение, жмем переключатель и подсоединяемся к смартфону с помощью команды connect и показанного приложением IP-адреса:
Далее работа с ADB ничем не отличается.
Using package manager (pm)
Within an adb shell, you can issue commands with the package manager () tool to
perform actions and queries on application packages installed on the device. While in a shell,
the syntax is:
pm <command>
You can also issue a package manager command directly from adb
without entering a remote shell. For example:
adb shell pm uninstall com.example.MyApp
Table 3. Available package manager commands.
Command | Description |
---|---|
Prints all packages, optionally only those whose package name contains the text in . Options:
|
|
Prints all known permission groups. | |
Prints all known permissions, optionally only those in . Options:
|
|
List all test packages.
Options:
|
|
Prints all features of the system. | |
Prints all the libraries supported by the current device. | |
Prints all users on the system. | |
Print the path to the APK of the given . | |
Installs a package (specified by ) to the system.
Options:
|
|
Removes a package from the system.
Options: -k: Keep the data and cache directories around after package removal. |
|
Deletes all data associated with a package. | |
Enable the given package or component (written as «package/class»). | |
Disable the given package or component (written as «package/class»). | |
Options: —user : The user to disable. |
|
Grant permissions to applications. Only optional permissions the application has declared can be granted. |
|
Revoke permissions to applications. Only optional permissions the application has declared can be revoked. |
|
Changes the default install location. Location values:
Note: This is only intended for debugging; using this can cause |
|
Returns the current install location. Return values:
|
|
Specifies whether the given permission should be enforced. | |
Trim cache files to reach the given free space. | |
Create a new user with the given , printing the new user identifier of the user. |
|
Remove the user with the given , deleting all data associated with that user |
|
Prints the maximum number of users supported by the device. |
Команды ADB
- – вывод списка подключенных устройств;
- – перезагрузка устройства;
- – перезагрузка устройства в режим восстановления (recovery);
- – перезагрузка устройства в режим fastboot для дальнейшего выполнения fastboot-команд;
- – установка приложения на карту памяти (необходимо предварительно загрузить .apk-файл в папку с ADB либо указать полный путь к нему);
- – установка приложения во внутреннюю память;
- – установка приложения для тестирования;
- – переустановка приложения с сохранением пользовательских данных;
- – удаление приложения;
- – вызов консоли Android (shell) для выполнения Linux-команд;
- – создание скриншота (больше подробностей в написанном мною руководстве по созданию скриншотов на смартфонах Samsung);
- – запись скринкаста (захват изображения с экрана);
- – вывод информации о приложении;
- – вывод списка установленных приложений;
- – выдача разрешения приложению (в конкретном случае на отправку сообщений);
- – блокировка доступа приложению (в конкретном случае к камере);
- – создание резервной копии данных, включая установленные приложения и файлы, хранящиеся на карте памяти (имя файла создаваемого бэкапа и путь к нему можно изменить);
- – восстановление данных из созданной резервной копии;
- – установка соединения по протоколу TCP/IP через порт 5555;
- – подключение к устройству (узнать IP-адрес устройства можно в настройках в разделе «О телефоне»);
- – отключение от устройства;
- – установка прошивки, когда устройство загружено в recovery;
- – отправка файла с компьютера на смартфон (возможна отправка каталогов);
- – копирование файла с компьютера на смартфон (возможно копирование каталогов);
- – перезапуск демона;
- – остановка демона.
Консоль в консоли
Наряду с упомянутой консолью, которая является DOS-консолью под Windows, в Android существует и своя. Она вызывается через adb shell и представляет собой по сути стандартную Linux-консоль, но с неполным набором команд, расширить который можно, установив из маркета BusyBox. Использовать эту консоль можно двумя способами. В интерактивном режиме она запускается командой
adb shell
В консоли появляется знак $ (далее по тексту этот знак будет означать необходимость ввода предварительной команды adb shell), и после этого можно вводить серию команд, получая после каждой отклик. Второй способ — если необходимо ввести только одну команду, можно писать ее подряд за adb shell.
В шелле работают стандартные команды для копирования, перемещения и удаления файлов: cp, mv и rm. Можно менять каталоги (cd) и смотреть их содержимое (ls). Кроме стандартных Linux-команд, о которых можно узнать из любого справочника, в Android есть несколько своих специализированных инструментов, но, чтобы использовать некоторые из них, придется получить на смартфоне права root, а после запуска консоли выполнять команду su:
adb shell su
Это нужно делать, если в ответ на какую-либо команду ты видишь строку, похожую на «access denied» или «are you root?». В случае успеха знак $ сменится на #.
Вывод свободного пространства на устройстве командой adb shell df
Пример работы команды ls для вывода информации о разделах