Контакты

Adb shell su работает, но adb root не. Команды adb для Android пользователей Что позволяет делать ADB

Если у вас есть смартфон с операционной системой Android и вы часто с ним экспериментируете, что-то настраиваете или перепрошиваете, то, скорее всего, вы уже знакомы с инструментом ADB или (Android Debug Bridge). Это программа для управления смартфоном через компьютер по USB, которая содержит множество полезных команд.

Вы можете просматривать журналы, устанавливать и удалять приложения, управлять устройством и выполнять множество других полезных команд. Из этой статьи вы узнаете как пользоваться ADB в Linux, мы рассмотрим полезные команды ADB для пользователей Android и подробно разберем эту утилиту. Но сначала рассмотрим как установить сам инструмент на компьютер.

Программа ADB входит в стандартный набор утилит Android SDK. Вы можете установить эту среду и получите нужную утилиту. Но не всегда хочется тянуть на компьютер целую среду исполнения. Иногда нужна только одна программа. Ее можно очень просто установить отдельно. В Ubuntu для этого можно выполнить команду:

sudo apt install android-tools-adb

Для Red Hat, CentOS команда будет немного отличаться:

sudo yum install android-tools-adb

Если вам нужно установить ADB в Windows, то придется скачать пакет SDK Platform Tools из официального сайта.

Подготовка смартфона

Для того чтобы вы смогли использовать adb вместе со своим смартфоном вам необходимо включить режим отладки по USB. Эта возможность скрыта во всех версиях Android начиная с 4.2. Чтобы стать разработчиком сначала зайдите в "Настройки" -> "О телефоне" и семь раз нажмите на пункте "Номер сборки" :

Затем в главном меню настроек появится пункт "Для разработчиков" :

Тут необходимо поставить галочку напротив раздела "Разрешить отладку по USB" :


Теперь ваш телефон готов к работе с adb. Подключите его по USB к вашему компьютеру и начнем работать.

Полезные команды ADB

Перед тем как мы сможем управлять устройством, необходимо еще кое-что сделать. Команде adb требуется специальная служба для связи с Android необходимо ее запустить. Для этого используйте такую команду:

adb start-server

После завершения работы вы можете отключить службу чтобы она не потребляла лишние ресурсы:

Теперь можно выполнять adb команды для android.

Список устройств

Первым делом, посмотрим список подключенных устройств к нашему компьютеру. Для этого используется команда devices:

Если к системе подключено несколько смартфонов, то по умолчанию действия будут применяться к первому. Но вы можете задать нужное имя устройства с помощью опции -s. Например:

adb -s 0123456789ABCDEF logcat

Также указать имя устройства, к которому необходимо применять команды программы adb можно с помощью переменной ANDROID_SERIAL:

export ANDROID_SERIAL=0123456789ABCDEF

Тогда все команды adb будут применяться к устройству, указанному в этой переменной.

Состояние устройства

С помощью команды get-state вы можете узнать состояние устройства:

Команда вернет одно из значений: device - работает, bootloader - загружается, offline - выключено. С помощью команды status-window можно постоянно отслеживать состояние:

adb status-window

Просмотр журналов

Самое частое действие, которое приходится делать разработчикам и тестировщикам мобильных приложений в поиске ошибок - это просмотр журналов системы и приложений. Для этого применяется команда logcat:

Утилита выводит содержимое логов Android в реальном времени, так что вы сразу увидите все сообщения об ошибках. Также можно записать все в файл:

adb logcat -d > ~/android.log

С помощью опции -c можно очистить все логи на устройстве:

Не всегда нужно смотреть полный системный лог, иногда будет достаточно только увидеть сообщения нужной программы.. Для этого просто укажите имя пакета:

adb logcat com android.settings

С помощью опции --log-level можно установить уровень подробности сообщений, доступны такие варианты: V, D, I, W, E, F, S. Для выбора подробности вывода укажите нужную букву через двоеточие после имени приложения:

adb logcat com android.settings:E

Или выведем только ошибки для всей системы целиком:

Передача файлов на устройство

Если вам нужно быстро отправить файл на устройство, для этого можно использовать команду push. Вот ее синтаксис:

$ adb push /адрес/локального/файла /адрес/удаленного/файла

Например, загрузим файл из домашней папки на устройство:

adb push ~/file /sdcard/file

Файл будет мгновенно передан на устройство и вы можете в этом убедиться. Дополнительно можно использовать опцию -p для отображения прогресса, а также опцию -a чтобы сохранить оригинальный timestamp.

Таким же образом вы можете скачать файл с устройства. Синтаксис команды pull:

$ adb push /адрес/удаленного/файла /адрес/локального/файла

Например, скопируем отправленный файл обратно:

adb pull /sdcard/file ~/file1

Установка приложений

С помощью adb можно напрямую устанавливать приложения. Эта возможность может быть очень удобной для разработчиков. Команде install нужно передать только адрес apk файла:

adb install ~/Momentum_apkpure.com.apk

После этого приложение установлено и готово к работе на вашем устройстве. Если вам нужно обновить приложение до более новой версии, тогда используйте опцию -r. Это очень важно. Иначе получите ошибку:

adb -r install~/Momentum_apkpure.com.apk

Еще доступны опции -s - для установки на флешку и -d - для понижения версии программы.

Удаление приложений

Удалить приложение тоже очень просто. Для этого достаточно передать имя его пакета команде uninstall. Например, удалим браузер Firefox:

adb uninstall org.mozilla.firefox

Резервное копирование

Вы можете создать резервную копию своей прошивки и всех системных файлов Android для того, чтобы ее потом очень просто и быстро восстановить. Для этого используется команда backup. Сначала рассмотрим ее синтаксис:

$ adb backup опции пакеты

Опции указывают какие данные нужно копировать. Каждая опция может иметь приставку no, которая означает, что эти данные копировать не нужно. Рассмотрим основные опции:

  • -apk - сохранять apk файлы для программ, по умолчанию отключено;
  • -obb - сохранять расширения установленные расширения apk файлов в формате obb. По умолчанию отключено;
  • -shared - сохранять данные приложений из SD карты или памяти телефона, отключено;
  • -all - сохранить все установленные приложения;
  • -system - сохранить системные приложения, эти приложения уже входят в список all.

Последний параметр позволяет указать какие приложения нужно сохранять. Если указана опция all, то, естественно, что этот параметр не нужен. Таким образом, команда для резервного копирования системы будет выглядеть вот так:

adb backup -apk -obb -shared -all -f backup.ab

С помощью опции -f мы задаем имя файла архива, он будет сохранен в текущей папке. Если его не задать, то имя по умолчанию будет backup.ab. Вам нужно будет подтвердить создание копии на телефоне, можно ввести пароль для шифрования:

Для восстановления из резервной копии используйте команду restore. Ей достаточно передать адрес файла:

adb restore android.ab

В утилиты adb есть даже команды для перезагрузки устройства. Можно просто перезагрузить смартфон с помощью команды reboot:

Можно загрузиться в режим recovery:

adb reboot recovery

Или в режим настройки загрузчика:

adb reboot bootloader

Консоль Android

С помощью команды shell вы можете войти в консоль Android и выполнять там необходимые действия. Здесь доступно большинство привычных нам команд linux. Мы подробно рассматривали все доступные команды в статье . Сейчас же поговорим про саму команду shell и приведем несколько примеров. Чтобы войти в консоль наберите:

adb shell ls /system

Например, с помощью такой команды вы можете сделать снимок экрана:

adb shell screencap -p /sdcard/screenshot.png

А так можно снять экран смартфона на видео:

adb shell screenrecord /sdcard/video.mp4

Выводы

В этой статье мы рассмотрели как пользоваться утилитой adb для управления Android смартфоном, а также основные команды программы adb, которые вы можете применять. Команды adb shell - это те же команды, что вы можете выполнять в терминале Android, поэтому нет смысла их разбирать еще раз. Надеюсь, информация из этой статьи была вам полезной.

Об авторе

Основатель и администратор сайта сайт, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.

Утилиты ADB и Fastboot входят в состав комплекта разработки Android SDK (не стоит путать с Android Studio и уж тем более скачивать ее громоздкий установочный файл, если вы, конечно, не собираетесь заниматься разработкой под Android). ADB является инструментом для отладки, который позволяет получить доступ к консоли Андроид с компьютера (), подключив гаджет к ПК по USB. При этом должна быть . Fastboot предназначен для работы с устройством, когда то загружено в одноименном режиме (если такой есть на вашем аппарате).

При помощи ADB можно управлять смартфоном/планшетом с компьютера: сделать бэкап приложений, записать скринкаст, перевести смартфон в режим Recovery и многое другое. Кроме того с ADB можно работать и через Wi-Fi. Для этого на вашем устройстве должны быть получены root-права, а также понадобится специальное приложение, осуществляющее подключение к компу по сети. Например, ADB Wireless либо WiFi ADB. Но это уже материал для отдельной статьи.

Используя Fastboot, вы сможете , кастомные Рекавери ( или ), разблокировать Bootloader (на аппаратах HTC, Motorola, Sony, Nexus, Huawei, последних LG он заблокирован), очищать разделы системы.

Как установить ADB и Fastboot: инструкция

1. Перейдите на официальный сайт, откуда можно скачать Android SDK: https://developer.android.com/studio/index.html . Спуститесь вниз страницы к разделу «Command line tools only» и выберите архив для Windows.

2. Установите галочку в чекбоксе «I have read and agree with the above terms and conditions» и нажмите кнопку «Download Android Command Line Tools for Windows». Начнется загрузка архива.

3. Скачайте его и разархивируйте в корень Диска «C:».

4. Также необходимо загрузить Java Development Kit с официальной страницы . Перейдите на сайт, согласитесь с условиями лицензионного соглашения, отметив пункт «Accept License Agreement», и скачайте версию JDK, соответствующую разрядности вашей системы.

Первый способ

Вернитесь к папке c Android SDK, откройте «tools» и запустите «android».

Отметьте пункт «Android SDK Platform-tools» (а также «Google USB driver», если у вас устройство Nexus) и нажмите «Install Packages».

Про установку драйверов для других аппаратов читайте ниже.

Выберите «Accept License» и нажмите «Install».

Мой лог показал, что возникла ошибка. Но в итоге все завершилось успешно.

По завершении выполнения вышеописанных действий в папке «sdk-tools-windows-version » появится «platform-tools», а в ней будут интересующие нас «ADB» и «Fastboot».

Второй способ

Перейдите в папку «sdk-tools-windows-версия » → «tools» → «bin» и, зажав клавишу «Shift», щелкните правой кнопкой мышки по пустой области. Выберите «Открыть окно команд» либо «Открыть окно PowerShell здесь», если на ПК или ноутбуке установлена одна из последних сборок Windows 10.

Вставьте команду в PowerShell или командную строку (в PowerShell добавьте./ вначале):

Щелкните «Enter», чтобы выполнить команду. Произойдет загрузка файлов и появится запрос на установку:

Чтобы разрешить, введите y , то есть «yes», и нажмите «Enter», после чего начнется установка «platform-tools».

В конце в командной строке отобразится сообщение, что процедура завершилась успешно. А папка «platform-tools» с ADB и Fastboot внутри появится в «sdk-tools-windows-version ».

(!) Если по какой-либо причине не удается установить ADB и Fastboot предыдущими способами, воспользуйтесь третьим вариантом – просто скачайте архив «platform-tools» и разархивируйте на диск «C:».

Устанавливаем драйверы ADB и Fastboot для Windows

Чтобы компьютер смартфон либо планшет, необходимо загрузить драйвер USB:

  • Samsung – драйвер входит в состав утилиты Kies: http://www.samsung.com/ru/support/usefulsoftware/KIES/ либо же его можно скачать отдельно, выбрав нужную модель: http://www.samsung.com/us/support/downloads
  • HTC – в составе HTC Sync Manager: http://www.htc.com/ru/software/htc-sync-manager/
  • Nexus – драйвер Android устанавливается вместе с Android SDK, о чем писалось выше.
  • Huawei – совместно с утилитой HiSuite: http://consumer.huawei.com/minisite/HiSuite_en/index.html
  • LG – установите LG PC Suite: http://www.lg.com/ru/support/software-firmware
  • Motorola – смотрите на этой странице: https://motorola-global-portal.custhelp.com/app/answers/detail/a_id/88481
  • Sony Xperia – драйверы FastBoot для всех моделей находятся здесь: http://developer.sonymobile.com/downloads/drivers/
  • Xiaomi – Mi PC Suite: http://pcsuite.mi.com
  • MTK – для китайских аппаратов на чипах MediaTek: http://online.mediatek.com/Public%20Documents/MTK_Android_USB_Driver.zip
  • Lenovo – выберите модель смартфона, планшета и загрузите ADB драйвер: http://support.lenovo.com/us/en/GlobalProductSelector
  • Решения для девайсов других производителей ищите на их официальных сайтах.

Существуют различные универсальные установщики ADB драйверов (к примеру, этот: http://adbdriver.com/downloads/) – ими тоже можно пользоваться, например, когда по какой-то причине не удалось установить официальное решения.

Если для вашей модели идет драйвер без установщика, придется выполнить следующие действия:

1. Зайдите в «Панель управления» → «Диспетчер устройств». В Windows 10 достаточно нажать правой кнопкой мышки по меню «Пуск» и выбрать «Диспетчер устройств».

2. Найдите в списке девайс для которого нужно установить драйверы. Щелкните правой кнопкой мышки и нажмите «Обновить драйверы».

Как видите, компьютер корректно распознает мой планшет Nexus 7. Если ваш ПК определяет смартфон неправильно или напротив устройства стоит желтый треугольник с восклицательным знаком внутри, «ручная» установка драйверов Android для вас обязательна.

3. Выберите пункт «Выполнить поиск драйверов на этом компьютере».

4. Укажите путь к папке с драйверами на ПК.

Дождитесь завершения установки и затем заново подключите гаджет к компьютеру по USB.

Как начать работать с Fastboot и ADB

Работа с ADB или Fastboot осуществляется из командной строки, утилиты запускаются двумя способами:

1: Правой клавишей мышки щелкните на «Пуск» и выберите «Командная строка (администратор)» либо «Windows PowerShell (администратор)». Далее при помощи команд укажите путь к папке с ADB и Fastboot (после ввода каждой нажимайте «Enter»).

Чтобы вернуться в корень диска «C:\», используйте:

Благодаря этой команде открываем нужную папку:

В моем случае получилось так:

cd \tools_версия -windows\platform-tools

У вас выйдет (разработчики Google изменили название архива уже после написания первоначальной редакции этой инструкции):

cd \sdk-tools-windows-version \platform-tools

Путь к Fastboot и ADB указан, теперь работаем с ними из консоли.

Чтобы не выполнять эти действия каждый раз, добавьте путь к «platform-tools» в переменную «Path». Сначала зайдите в папку, в строке навигации щелкните правой кнопкой мыши по «platform-tools» и выберите «Копировать адрес».

Перейдите в «Панель управления». Для этого нажмите «Win» + «R» и в поле «Открыть:» вставьте control . Нажмите «ОК».

Выберите «Система» → «Дополнительные параметры системы» → «Переменные среды…».

Найдите перемененную «Path», выделите ее и выберите «Изменить…».

Нажмите «Создать», вставьте путь к папке «platform-tools» и щелкните «ОК».

Я укоротил свою разблокированную Galaxy S3 (SGH-T999)

Теперь я пытаюсь запустить adb root из командной строки Windows, однако, я получаю ошибку adbd cannot run as root in production builds . Итак, самое первое, что я проверил, был ли мой телефон действительно укоренен?

Итак, я попробовал следующее:

Откройте командную строку

$adb devices // lists my device $adb shell //goes to shell $su // opens a "SuperSu" prompt on my phone and I "Grant" permission # // Before following the rooting instructions, I was getting "no su command found" in the previous step. So, I believe my phone is ROOTED. **Correct me if I"m wrong.**

Однако, когда я делаю adb root , я получаю ошибку adbd cannot run as root in production builds . Поэтому, подумал я, мне, возможно, придется сделать некоторые дополнительные вещи, кроме того, что я сделал выше. Я пробовал все решения в следующих SO-вопросах:

  • запрещено разрешение на удаление adb, но доступно для доступа к суперпользователю в shell-android

Ничто из этого не помогло мне. Все, что они делают, - это доступ к ROOT INSIDE от SHELL. Я хочу, чтобы adb root работал, чтобы я мог выполнять различные команды adb БЕЗ вставки в оболочку.

7 ответов

В некоторых дружественных к программированию ПЗУ вы можете просто включить Root Access в Settings > Developer option > Root access. После этого становится доступным adb root . К сожалению, это не работает для большинства биржевых дисков на рынке.

По дизайну команда adb root работает только в userdebug разработки (т.е. eng и userdebug которые по умолчанию имеют ro.debuggable=1). Поэтому, чтобы включить команду adb root на ваше иначе внедренное устройство, просто добавьте ro.debuggable=1 в один из следующих файлов:

/system/build.prop /system/default.prop /data/local.prop

Если вы хотите, чтобы adb shell начиналась с root по умолчанию, а затем добавьте ro.secure=0 .

В качестве альтернативы вы можете использовать измененный adbd код adbd (который не проверяет ro.debuggable)

#if defined(ALLOW_ADBD_ROOT) // The properties that affect "adb root" and "adb unroot" are ro.secure and // ro.debuggable. In this context the names don"t make the expected behavior // particularly obvious. // // ro.debuggable: // Allowed to become root, but not necessarily the default. Set to 1 on // eng and userdebug builds. // // ro.secure: // Drop privileges by default. Set to 1 on userdebug and user builds.

У меня есть встроенный Samsung Galaxy Trend Plus (GT-S7580).

Запуск "adb root" дает мне то же самое, что "adbd не может выполняться с ошибкой root in production".

Для устройств, имеющих параметры разработчика → Root access, выберите "Только ADB", чтобы обеспечить доступ к устройству с помощью adb root (как предложено NgaNguyenDuy).

Затем попробуйте запустить команду в соответствии с решением запустите script как root через ADB . В моем случае я просто хотел запустить команду netcfg rndis0 dhcp, и я сделал это следующим образом:

Adb shell "su -c netcfg rndis0 dhcp"

Пожалуйста, проверьте, выполняете ли вы какие-либо ошибки во время работы таким образом.

Если он все еще не работает, проверьте правильность установки устройства. Если вам все еще не повезло, попробуйте установить пользовательский диск, например Cyanogen Mod , чтобы работать с "adb root".

Вам нужно заменить двоичный файл adbd в файле boot.img/sbin/на тот, который способен su. Вам также придется внести некоторые изменения по умолчанию.prop тоже.

Samsung, похоже, делает это более сложным, чем другие продавцы. У меня есть некоторые двоичные файлы adbd, которые вы можете попробовать, но для этого потребуется знание о -c ompiling и re -c, оспаривающее boot.img с новым двоичным кодом. Кроме того, если у вас заблокированный загрузчик... это не произойдет.

Кроме того, Chainfire имеет приложение, которое предоставит разрешение root для adbd в магазине воспроизведения: https://play.google.com/store/apps/details?id=eu.chainfire.adbd&hl=en

Наконец, если вы пытаетесь написать сценарий Windows с разрешениями SU, вы можете сделать это, используя следующий командный стиль... Тем не менее, вам, по крайней мере, нужно предоставить (по телефону) разрешения SU, чтобы время его запуска...,

adb shell "su -c ls" <-list рабочий каталог с правами su. adb shell "su -c echo anytext>/data/test.file"

Это лишь некоторые примеры. Если вы конкретно заявляете, что вы пытаетесь выполнить, я могу дать более конкретные советы

Составил Топ команд и лайфхаков, которые упростят и поднимут вас на новый уровень при использование командной строки!

Вы только, только начали использовать командую строку или терминал в процессе изучения и модифицирования Android? Возможно вам пока трудно сориентироваться и все выглядит очень трудно и нудно. Сайт расскажет и покажет как поднять свое мастерство и опыт в ОС Android!

Данный материал подразумевает, что вы уже знаете что такое ADB и вы хоть раз им пользовались!

Топ команд и лайфхаков в Android

1. Adb команда adb devices

Всегда в самом начале использования терминала используйте команду:

Так вы наверняка будете знать подключено ли все правильно, а не биться головой об стену и искать проблему в чем то другом.

2. Adb команда adb reboot normal

Застряли в меню Reocvery и не получается выйти? Выход есть! Используйте команду:

adb reboot normal

Данная команда поможет вывести из состояния «перезагрузка только в рекавери», при условии, что вы не поломали систему.

3. Adb команда adb install -r

Если вы устанавливаете и переустанавливаете приложения при помощи терминала, то стоит использовать команду:

adb install -r some.apk

Если не использовать приставку -r, то попытка переустановить приложение закончится не удачей.

4. ADB команда adb shell pm list packages

Просмотреть все установленные приложения на вашем Android, также можно легко и просто с помощью adb:

adb shell pm list packages

После чего перед вами появится список всех приложений которые когда либо устанавливали.

5. ADB команда запуска приложения

После того как знаем список приложений можно запустить его из терминала, для этого вводим команду:

adb shell am start -n Nazvanie.app/EGO.ACTIVITY

Узнать приложения можно ознакомившись с этой статьей.

6. Adb команда adb shell su -c «команда»

Если вы начали использовать bat и shell скрипты, то при попытки выполнить, что-то из под Root закончится мигающим курсором в терминале, а сама linux команда не будет выполнена! Выход есть! используйте связку su -c:

adb shell su -c " cp /sdcard/del.sh /data/local/tmp"

Теперь ваши скрипты будут работать как надо!

7. Linux команда mount

Root права у вас установлена, но система не дает возможности записать, создать папку?

Все очень просто (если у вас не HTC), вам нужно перемонтировать раздел под запись — mount -o rw,remount,rw /раздел , чтобы все заработало:

с компьютера, через командную строку

adb shell su -c "mount -o rw,remount,rw /system"

с терминала на устройстве Android

mount -o rw,remount,rw /system

8. Linux команда cd

Возможно вам знакома команда cd, вы знаете как ей пользоваться, как перейти в необходимый каталог, но есть лайфхак который вам поможет перемещаться быстрей. Используйте команду:

Для того чтобы быстро переместиться в самый корень файловой системы, а не набирать каждый раз cd ..

9. Используйте Linux команду pwd и ls

Эти две команды помогут вам не потеряться в обилие файлов и каталогов, разделов Android.

Linux команда:

Покажет полный путь от корня до текущего вашего положения.

Linux команда:

Покажет абсолютно все файлы и каталоги, в том числе и скрытые, в текущем расположение.

10. Linux команда chmod

Возможно вам также знакома команда, необходимая для того чтобы задавать права для каталогов и файлов. Но можно перейти на новый уровень, автоматизировав действия, и задавать их массово, а не нудно вводить по одиночке:

Данная команда, назначит права абсолютно всем файлам в текущем каталоге.

11. Fastboot команда erase

Всегда! Перед тем как что либо прошить в режиме fastboot форматируйте раздел, данное действие поможет избеганию проблем в работе Android.

fastboot erase recovery

fastboot erase system

fastboot erase data

12. Fastboot команда fastboot -w

Wipe в режиме fastboot? Да легко:

12. Fastboot команда boot

Только что прошили Recovery, но не охота держать руками кнопки чтобы перезагрузиться в него? Тогда выполним с помощью команды:

fastboot flash recovery recovery.img <--- прошивка recovery

fastboot boot recovery.img <--- переход в режим recovery

12. На заметку, клавиша «TAB»

Клавиша на клавиатуре является очень полезной и необходимой! Если вам нужно набрать длинное каталога, то вам достаточно написать первые три буквы и нажать «TAB» и все уже написано за вас, также это касается команд и файлов.

Вот и все! Больше статей и инструкций читайте в разделе . Оставайтесь вместе с сайтом , дальше будет еще интересней!

Многие из вас не раз сталкивались с ситуацией, когда для получения root прав на Android планшете или смартфоне, установки новой прошивки, восстановления системы и прочих вещей, нужно было подключать его к компьютеру и выполнять ряд команд adb или fastboot, через окно командной строки (терминала).

Большинство вводят эти команды, не понимая, что они означают, просто следуя найденной в сети инструкции. И если вы хотите получить более полное представление о том, что происходит при их выполнении, то сегодня мы познакомимся с десяткой основных команд, которые должен знать каждый продвинутый пользователь Android.

Но перед тем как чем начать ознакомление с этими командами, напомню, что прежде чем ваш планшет или смартфон смог их выполнять, вы должны позаботиться, чтобы на вашем компьютере был установлен Android SDK , а на самом планшете или смартфоне, в меню его настроек была включена опция «Отладка USB ».

Как установить Android SDK, содержащий в себе программы adb и fastboot, читайте в этом материале .

Также напомню, что в Android 4.2 и выше, пункт «Отладка USB» скрыт, и как получить к нему доступ, вы можете почитать .

Для тех, кто забыл, как запустить окно командной строки в Windows напомню, что проще всего это сделать, нажав на «Пуск», после чего в окне поиска нужно будет ввести cmd и нажать клавишу «Enter».

После того, как все подготовительные работы закончены, можно подключать устройство к компьютеру с помощью USB кабеля и приступать к изучению команд.

1. Команда adb devices

Это, наверное, самая главная из всех десяти команд, о которых будет идти речь. С помощью неё мы можем узнать, видит ли компьютер ваше Android устройство, и если видит, то может ли он общаться с ним через команды терминала.

Если все нормально, то после ввода команды adb devices в окне командной строки Windows или терминала Linux, вы должны увидеть строку с текстом List of devices attached, после которой будет строка, состоящяя из серийного номера вашего устройства и его состояния - offline или online:

Состояние offline означает, что устройство находится в спящем режиме. Состояние online сигнализирует о том, что планшет или смартфон готов выполнять ваши команды.

2. Команда adb push

С помощью команды adb push вы можете копировать файлы на свой планшет или смартфон. При этом вы должны указать путь к папке, в которую вы хотите поместить файл на устройстве и папке на компьютере, откуда будет копироваться файл. Второй путь указывать не обязательно, если файл расположен в той же папке, где находится программа adb.

Вот пример копирования видеофайла superfreak.mp4 с компьютера на устройство, в папку /sdcard/Movies с помощью команды adb push superfreak.mp4 /sdcard/Movies/

Для пользователей Windows хочу напомнить, что в Android при указании пути к файлам и папкам используется прямой слэш - /, а не обратный, как вы привыкли.

3. Команда adb pull

Если команда adb push используется для передачи файлов на Android устройство, то adb pull используется для копирования файлов с устройства на компьютер. Так же как и в предыдущем случае, вы должны указать путь, откуда вы хотите взять файл на устройстве и путь, куда вы хотите этот файл поместить на компьютере. Второй путь указывать не обязательно, если вы хотите, чтобы файл попал в папку, из которой вы запускали программу adb.

Вот пример копирования файла superfreak.mp4 из папки /sdcard/Movies/ вашего планшета или смартфона на рабочий стол Windows 8 пользователя Jerry, C:\Users\Jerry\Desktop

Если вы хотите, чтобы файл попал в папку, из которой вы запускали adb, просто введите команду adb pull /sdcard/Movies/superfreak.mp4

4. Команда adb reboot

Эта команда часто используется в процессе получения root прав или установке нового программного обеспечения, когда нужно принять те изменения, которые мы сделали на нашем устройстве. После того, как вы введете команду adb reboot, ваш планшет или телефон перезагрузится.

Также эта команда важна тем, что её можно размещать внутри скриптов, что позволяет перезагружать устройство после выполнения всех необходимых операций автоматически.

5. Команды adb reboot-bootloader и adb reboot recovery

С помощью adb можно не просто перезагружать Android устройство, но и перезагружать его в загрузчик (bootloader). Этот режим нужен для того, чтобы мы могли разблокировать загрузчик, что необходимо для получения root прав и дальнейшей установки альтернативных прошивок.

Некоторые устройства можно загрузить в bootloader с помощью определенной комбинации клавиш при их включении, но зачастую команда adb reboot-bootloader - это единственный способ получить доступ к загрузчику.

Точно также, программу adb можно использовать для получения доступа к меню восстановления планшета или смартфона или рекавери (recovery). Это можно сделать с помощью команды adb reboot recovery

6. Команда fastboot devices

Если вы перегрузили свой планшет в режим загрузчика (bootloader) то он перестанет принимать команды adb. В этом режиме с устройством мы можем общаться с помощью программы fastboot.

С помощью команды fastboot devices вы можете узнать, может ли ваше устройство принимать команды от этой программы в режиме загрузчика. Так как fastboot является очень мощным инструментом, некоторые производители Android устройств не предоставляют доступа для этой программы в режиме загрузчика.

Так же, как и в случае с adb, после ввода команды fastboot devices вы должны увидеть серийный номер вашего устройства.

Зачастую причиной неработоспособности fastboot является отсутствие необходимых Windows драйверов вашего устройства.

7. Команда fastboot oem unlock

Некоторые производители (например, HTC или Asus) выпускают специальные утилиты, позволяющие разблокировать загрузчик их планшетов и смартфонов, после чего на них можно будет устанавливать альтернативные рекавери, такие как ClockworkMod или TWRP и прошивки от независимых разработчиков (кастомные прошивки).

Однако во многих случаях, разблокировать загрузчик Android устройства можно с помощью программы fastboot. Сделать это очень просто – когда ваш планшет или телефон находится в режиме bootloader (пункт 5), достаточно в окне командной строки ввести следующую команду: fastboot oem unlock.

После этого вам нужно будет следовать инструкциям, которые будут отображены на экране вашего планшета или смартфона.

Внимание! После выполнения команды fastboot oem unlock, ваше устройство будет полностью очищено от установленных вами программ и ваши персональные данные будут также удалены.

8. Команда adb shell

Команда adb shell зачастую приводит в замешательство некоторых начинающих пользователей.

Есть два пути использования этой команды. Если вы просто введете в окне командной строки текст adb shell и нажмете клавишу «Enter», то вы «попадете» в режим терминала, или командную оболочку вашего Android устройства, где вы сможете выполнять любые команды Android shell.

Ниже вы можете увидеть результат выполнения команды ls в среде Android shell

Этот режим хорошо известен пользователям Linux и Mac компьютеров. Если вы знакомы с командами оболочки bash, то проблем с работой в этом режиме у вас не будет. В противном случае я не рекомендую пользоваться режимом adb shell, до тех пор, пока вы не будете понимать, назначение всех его команд, так как в этом режиме вы имеете полный доступ к файлам на вашем устройстве и можете случайно нанести непоправимые изменения в операционной системе.

Второй способ использования adb shell - это выполнение единичной команды Android shell с помощью такой конструкции: adb shell <команда>. Например вы можете изменить права доступа к файлу с помощью команды типа «adb shell chmod 666 /data/имя файла»

9. Команда adb install

С помощью программы adb вы можете не просто копировать файлы на устройство и обратно. Эта программа также позволяет устанавливать приложения на Android устройства в виде apk файлов. Для этого существует команда adb install. Она немного похожа на команду push: вы должны указать путь, где находится файл с приложением, которое вы хотите установить. Поэтому проще всего сначала скопировать apk файл в папку с программой adb, после чего установку программы вы можете произвести с помощью команды adb install ИмяФайлаПриложения.apk

Если вам нужно обновить приложение, то в этом случае нужно использовать ключ -r и команда будет выглядеть так: adb install -r ИмяФайлаПриложения.apk.

С помощью ключа -s вы можете устанавливать приложения на карту памяти (если ваша прошивка позволяет делать это). Ключ -l позволяет заблокировать приложение при установке (установив его в папку /data/app-private). Существуют и другие ключи для более продвинутых функций, но их описание – это тема отдельной статьи.

10. Команда adb uninstall

И наконец, вы можете удалять приложения с вашего планшета или телефона. Для этого нужно использовать команду adb uninstall ИмяФайлаПриложения.apk

У этой команды есть ключ -k, который позволяет при удалении приложения не удалять его данные и кэш, а оставить их на устройстве.

Бонус: Команда adb sideload

Эта команда очень пригодится владельцам планшетов и смартфонов Nexus – с помощью неё они смогут обновлять официальную прошивку на своих устройствах. Другими словами, если ваш смартфон или планшет не получил обновления по-воздуху, вы можете скачать новую прошивку с официального сайта, и обновить устройство «вручную».

После того, как вы скачаете файл с прошивкой на компьютер и подключите планшет или телефон к нему, вам нужно будет перезагрузить свое устройство в режим рекавери, выбрать пункт "Apply update from ADB" , а затем на компьютере в окне командной строки ввести следующую команду: adb sideload xxxxxxxx.zip, где xxxxxxxx.zip – это имя zip файла c прошивкой.

Более подробную инструкцию о том, как обновить прошивку Nexus устройств вручную вы найдете в этом материале .

Похожие материалы:

Понравилась статья? Поделитесь ей