Adb список установленных приложений

Клиент-серверное приложение, которое предоставляет доступ к работающему эмулятору или устройству. С его помощью можно копировать файлы, устанавливать скомпилированные программные пакеты и запускать консольные команды. Используя консоль, вы можете изменять настройки журнала и взаимодействовать с базами данных SQLite, которые хранятся на устройстве. В старых версиях SDK программа находилась в папке tools, теперь находится в папке platform-tools.

Состоит из трех компонентов: фоновой службы (демона), работающей в эмуляторе, сервиса, запущенного на компьютере разработчика, и клиентской программы (наподобие DDMS), которая связывается со службой через Сервис.

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

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

d:program.apk – это путь к файлу, который хотите установить в эмулятор. После этого установленное приложение появится в эмуляторе. Если приложение слишком большое (несколько мегабайт), то придётся немного подождать, пока установится. Во время установки в консоли курсор будет мигать, а потом появится надпись Success, что означает успешную установку программы.

Также можно удалить ненужную программу по имени его пакета:

Чтобы получить список запущенных эмуляторов и их серийные номера, используйте команду:

Вы увидите приблизительно такую картину:

Зная имя устройства, вы можете запустить на нужном устройстве требуемую команду:

Чтобы перезапустить сервер:

Сделать бэкап и восстановить из бэкапа можно так:

Для копирования файлов с устройства на компьютер и обратно используются команды pull и push.

Чтобы запустить оболочку (shell) на подключенном устройстве, выполните следующую команду:

Символ # обозначает приглашение оболочки (shell prompt).

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

Список доступных команд (часть)

Чтобы просмотреть список каталогов и файлов, находящихся на корневом уровне (root-level), введите в командной строке оболочки следующую команду:

Для просмотра списка баз данных используйте команду:

В этом каталоге содержится список пакетов, установленных на устройстве. Для примера исследуем пакет com.android.providers.contacts:

Эта команда отобразит файл contacts.db и др., представляющие собой базу данных SQLite.

Logcat

Backup Manager

Monkey Stress Tester – Обезьяна с гранатой

Monkey ([android-sdk-path]**/platform-tools) – утилита для генерации случайных жестов на эмуляторе или устройстве, что напоминает движения глупой мартышки.

Для просмотра всех файлов базы данных *.db используйте команду:

Вы увидите, что в Android имеются следующие базы данных (зависимости от версии Android набор может варьироваться):

alarms.db
contacts.db
downloads.db
internal.db
settings.db
mmssms.db
telephony.db

Можно активировать команду sqlitе3 для одной из перечисленных баз данных, введя следующую информацию:

Для завершения работы с sqlite3 напишите:

Обратите внимание: приглашение для adb – это #, а приглашение для sqlitе3 – это sqlite>.

Запись видео с экрана

Вы можете записать видео с экрана вашего устройства (на эмуляторе не работает):

Затем можно сбросить на компьютер.

где /sdcard/my_app.mp4 – путь к файлу с видео (sdcard) и его имя (my_app.mp4).

Максимальное время записи равно трём минутам. Можно прервать запись (Ctrl+C).

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

–size Задает разрешение, например: 1280×720. По умолчанию этот параметр установлен в соответствии с разрешением главного экрана устройства (если поддерживается), или 1280×720 – если нет.

–bit-rate Задает скорость потока видео (мегабиты в секунду). По умолчанию – 4 Мб/сек. Например, для записи со скоростью 6 Мб/сек, вам нужно будет ввести следующую команду:

–time-limit Задает максимальную длительность видео в секундах. По умолчанию установлено максимальное значение – 180 сек (3 минуты).

–rotate Поворот видео на 90 градусов. Экспериментальная опция.

–verbose Отображать информацию о процессе записи в окне командной строки.

В Android Studio вы можете начать запись через кнопку записи в панели Android DDMS (Alt-6).

Если вы хотите, чтобы на видео отображались «отпечатки» касаний к экрану, включите в настройках устройства в разделе для разработчиков опцию «Показывать нажатия» или «отображать касания».

Соединение через Wi-Fi

Обычно для тестирования программы на реальном устройстве использует USB-соединение. Предположим, кот уволок куда-то USB-кабель или расшатал USB-порт (ага, валите всё котов). В этом случае можно попробовать использовать Wi-Fi. Описанный ниже способ не гарантирует работоспособность на всех устройствах. Пробуйте.

Сначала соединитесь обычным способом через USB (не знаю, как вы собираетесь это сделать, если у вас утащили кабель и сломали порт). Включите Wi-Fi на компьютере и на устройстве.

Убедитесь, что устройство присоединено.

Ответ (у вас будет свой набор символов):

Меняем режим работы с USB на TCP/IP:

Теперь вам надо узнать IP-адрес вашего устройства. Пример для Nexus 7: Запускаем Настройки | О планшете | Общая информация | IP-адрес. Перепишите адрес на бумажку. Запускаем команду с этим адресом (у вас будет свой адрес).

Теперь можете отсоединить кабель. Отдайте его коту, пусть играет.

Проверяем, что устройство по прежнему на связи.

Отлично! Запускайте приложение и оно по воздуху установится на устройстве.

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

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

Указанный способ очень удобен. Недаром на баше есть такие строчки:

Слава Wi-Fi! Котэ не может его перегрызть.

Читайте также:  Рынок электромобилей в россии

А вот другому повезло меньше и на баше описана его ситуация:

Звонок в техподдержку одного интернет-провайдера.
ТП(техподдержка): Добрый день! Я вас слушаю.
А (абонент): У меня тут проблема возникла.
ТП: Какая у вас проблема?
А: Я гонял кота шашкой и перерубил кабель.

Если бы абонент позаботился о настройке через Wi-Fi, то и проблемы бы не было.

Shell

Выше уже упоминались команды с параметром shell. С ним часто используют команды am и pm. Это не время, а сокращение от Application manager и Package Manager. Например, можно запустить сервис через намерение:

Для просмотра всех установленных приложений (пакетов):

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

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

Установка ADB в Linux

Программа 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 команды для android.

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

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

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

adb -s 0123456789ABCDEF logcat

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

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

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

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

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

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

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

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

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

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

adb logcat com android.settings

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

adb logcat com android.settings:E

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

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

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

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

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

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

Загрузка файла с устройства

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

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

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

adb pull /sdcard/file

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

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

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

Еще доступны опции -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. Мы подробно рассматривали все доступные команды в статье команды Android Terminal Emulator. Сейчас же поговорим про саму команду shell и приведем несколько примеров. Чтобы войти в консоль наберите:

Дальше откроется командная строка adb на Android. Если вам не нужна консоль, а нужно только выполнить команду и вернуть результат, то вы можете передать команду сразу после shell:

adb shell ls /system

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

adb shell screencap -p /sdcard/screenshot.png

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

adb shell screenrecord /sdcard/video.mp4

Выводы

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

среда, 17 июля 2013 г.

Список команд ADB дял andro >

Android Debug Bridge список команд

Перечень команд Android Debug Bridge

adb shell cat /proc/partitions

Выводит на экран информацию по имеющимся блокам.

adb shell su -c dd if=/dev/block/mmcblk0p9 of=/sdcard/factoryfs.img bs=4096

Выполняет копирование блока. Задавать необходимо сам блок и выходящее имя.

adb shell rm /data/system/gesture.key

Разблокирует от графического ключа при блокировке Android-девайса. После введения команды можно ввести любой жест.

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

Команда будет послана на устройство, запущенное в эмуляторе. Выдаст ошибку, если одновременно запущено больше одного эмулятора.

Команда будет послана на устройство с указанным серийным номером.

Команда будет послана на девайс с указанным именем. Примечание: если не указывать ключ –p, то используется значение переменной ANDROID_PRODUCT_OUT.

Выводит на экран список всех подключенных к компьютеру устройств.

Производит подключение к указанному хосту посредством протокола TCP/IP. Порт можно не указывать, тогда будет использован порт по умолчанию – 5555.

Производит отключение от указанного хоста, подключенного посредством протокола TCP/IP. Порт можно не указывать, тогда будет использован порт по умолчанию –5555. Если не задать ни один из параметров, то будет произведено отключение от всех активных в текущий момент соединений.

Производит копирование файла или папки с компьютера на Android-устройство.

Производит копирование файла или папки с Android-устройства на компьютер. Если не задан второй параметр, то копирование производится в папку ADB.

Производит копирование на компьютер только новых файлов. Если ввести ключ –l, то копирование производится не будет, будет создан только список новых файлов.

Запускает несколько упрощенный UNIX Shell.

Выполнение команды посредством Shell. Например:

adb shell rm -r /system/sd/app

Удаление приложений, которые были установлены на карту памяти.

adb shell rm -r /system/sd/app-private

Удаление приложений, которые были установлены на карту памяти в раздел app-private.

adb shell cat /proc/mtd

Вывод информации о разделах внутренней памяти устройства, в подобном виде:

dev: size erasesize name

mtd0: 000a0000 00020000 «misc»

mtd1: 00420000 00020000 «recovery»

mtd2: 002c0000 00020000 «boot»

mtd3: 0fa00000 00020000 «system»

mtd4: 02800000 00020000 «cache»

mtd5: 0af20000 00020000 «userdata»

Вывод информации о свободных ресурсах в памяти устройства, в подобном виде:

Filesystem 1K-blocks Used Available Use% Mounted on

tmpfs 160664 0 160664 0% /dev

/dev/block/mtdblock4 40960 1292 39668 3% /cache

/dev/block/mtdblock3 256000 146888 109112 57% /system

/dev/block/mtdblock5 179328 125728 53600 70% /data

/dev/block/mmcblk0p1 15521280 10056880 5464400 65% /sdcard

Команда будет послана в консоль запущенного эмулятора, например:

adb shell mount -o rw /dev/block/mtdblock3 /system

adb shell mount -o rw /dev/block/mtdblock5 /data

Выполняется монтирование разделов /system и /data с использованием режима ClockworkMod Recovery.

adb install [-l] [-r] [-s]

Указанное приложение будет отправлено на Android-девайс и будет произведена его установка, например команда
adb install C:/adb/app/test.apk
выполнит установку test.apk, который находится в директории /adb/app/ на диске C:/.
Ключи к данной команде:

-l – выполняет блокировку приложения.

-r – приложение будет переустановлено с сохранением данных.

-s – приложение будет установлено на карту памяти.

adb uninstall [-k]

Производит деинсталляцию (удаление) указанного приложения. Если использовать ключ –k, то приложение будет деинсталлировано без удаления данных пользователя.

Ожидание подключения Android-девайса.

Запуск службы (daemon).

Остановка службы (daemon).

Выводит текущий статус подключенного устройства:

offline – девайс выключен.

bootloader – девайс в режиме предварительной загрузки (бутлоадер).

device – девайс работает.

Выводит на экран серийный номер подключенного устройства.

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

Выполняет перемонтирование подключенного Android-девайса для последующей записи. Команда необходима для работы скриптов, которые изменяют данные на устройстве.

adb reboot bootloader

Перезагрузка подключенного Android-устройства в режиме булоадера (загрузчика).

adb reboot recovery

Перезагрузка подключенного Android-устройства в режиме Recovery.

Выполняется перезапуск службы (daemon) с Root-правами.

Выполняется перезапуск службы (daemon) с «прослушиванием» USB.

Выполняется перезапуск службы (daemon) с «прослушиванием» указанного порта.

adb ppp [параметры]

Запуск службы с указанными параметрами через USB. Допустимые параметры: defaultroute dump debug notty usepeerdns local.

Используется для отладки. Выводит записи логов с отладочной информацией подключенного Android-устройства. logcat допустимо использовать с машины разработки ($ adb logcat) или через удаленный Shell (# logcat).

Каждое сообщение в логе Android-девайса имеет свой тэг и свой приоритет. Тэг – строка, которая указывает на компонент системы, отправивший сообщение (к примеру, View – для системы view и так далее). Приоритет может иметь одно из следующих значений (от наименьшего к наибольшему):

V – Verbose (самый низкий приоритет).

S – Silent (Самый высокий приоритет, при котором не выводится ничего).

Чтобы получить список используемых в системе тэгов вместе с их приоритетами, можно запустить logcat. При этом в первых двух столбцах каждого выведенного сообщения из системного лога будут указаны его приоритет и тэг. Например:

I/ActivityManager( 585): Starting activity: Intent

Чтобы уменьшить вывод лога до не таких больших размеров, можно использовать выражение фильтра, то есть с командой logcat использовать необходимые комбинации тэга и приоритета, и тогда все сообщения, которые не подходят под запрос, не будут выводиться. Фильтр выражается как : , где , соответственно, указывает на нужный тэг, а — на минимальный уровень приоритета для указанного тэга. В лог записываются сообщения с выбранным тэгом и приоритетом на указанном уровне или выше него. Количество пар : не ограничено в одном выражении фильтра, для их разделения используется пробел.

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

adb logcat TestTag:I TestApp:D *:S

Данная команда выведет все сообщения с тэгом TestTag, которые имеют приоритет «Info» или выше, а также сообщения с тэгом TestApp с приоритетом «Debug» или выше. Последний же элемент *:S устанавливает самый высокий «Silent» приоритет для всех остальных тэгов, по сути препятствуя их выведению. Таким образом, выводиться будут только сообщения для тэгов TestTag и TestApp. *:S – самый удобный способ вывода только сообщений, соответствующих указанным фильтрам.

Приведем еще один пример:

Данная команда выведет все сообщения, которые имеют приоритет «Warning» или выше для любых тэгов.

В том случае, если команда logcat выполняется на машине разработчика, а не через удаленный Shell, можно установить значение фильтра по умолчанию, задав переменную ANDROID_LOG_TAGS следующим образом:

export ANDRO >
Заданная переменная окружения ANDROID_LOG_TAGS не будет работать через эмулятор или на устройстве, если logcat будет использоваться в удаленном Shell или через adb shell logcat. Данная команда export выполняется только в UNIX-системах, и не работоспособна в Windows.

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

brief – отображает тэг, приоритет и PID процесса (формат вывода по умолчанию).

process – отображение только PID.

tag – вывод только приоритета и тэга.

thread – отображает только процесс:поток и тэг с приоритетом.

raw – выводит необработанное сообщение, без отображения полей с метаданными.

time – отображает дату, время вызова, тэг с приоритетом, и PID процесса.

long – отображает все поля с метаданными, а также отдельно сообщения с пустыми строками.

adb logcat -v thread

Команда выведет сообщения в формате thread.

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

radio – отображение буфера с сообщениями, которые связаны с телефонией или радиомодулем.

events – отображение буфера с сообщениями, которые связаны с событиями.

main – отображение основного буфера (используется по умолчанию).

Через adb также можно просмотреть stdout и stderr. По умолчанию вывод stdout и stderr идёт в /dev/null/, то есть происходит их удаление. В процессах, выполняемых в виртуальной машине Dalvik, может быть осуществлена запись копии вывода в лог. В таком случае система записывает сообщения в лог с тэгами stdout и stderr с приоритетом I. Чтобы перенаправить вывод, необходимо остановить эмулятор или Android-устройство, и выполнить Shell setprop, чтобы включить перенаправление вывода. Пример, как это сделать:

$ adb shell setprop log.redirect-stdio true

$ adb shell start

Указанная настройка будет сохранена в системе до тех пор, пока работает эмулятор или устройство. Для использования данной настройки по умолчанию, вышеописанную команду следует добавить в /data/local.prop.

Полный список параметров команды logcat:

-b — загрузка альтернативного буфера лога для последующего просмотра, такого как event или radio. По умолчанию используется основной буфер.

-c – сброс (очистка) лога и выход.

-d – вывод лога на экран и выход.

-f — запись лога в указанный файл . По умолчанию запись происходит в stdout.

-g – вывод размера указанного буфера с последующим выходом.

-n — установка максимального количества ротаций лога (количества хранимых сжатых фрагментов лога) . По умолчанию значение равно 4. Для работы требуется параметр -r.

-r — выполнение ротации каждые вывода (разделять лог на фрагменты по указанному числу ). По умолчанию значение равно 16. Для работы требуется параметр -f.

-s – установка «Silent» как фильтр по умолчанию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock detector