Adb

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

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

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

Запустите команду:

Появится ответ.

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

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

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

Ответ:

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

Ответ:

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

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

Ответ:

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

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

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

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

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

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

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

Shell

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

adb  shell

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

adb shell am startservice –a <intent action>

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

adb shell pm list packages

Предоставить разрешение приложению/запретить.

adb shell pm grant com.myapp.mypackagename android.permission.INTERNET

adb shell pm revoke com.myapp.mypackagename android.permission.INTERNET

Узнать информацию о конкретном приложении.

adb shell dumpsys package ru.alexanderklimov.hellokitty

Получить список доступных системных свойств.

adb shell getprop

Если вы знаете свойство, то можно запросить его значение напрямую.

adb shell getprop ro.build.version.sdk

Получить список всех будильников.

adb shell dumpsys alarm

Информация о всех видимых активностях.

adb shell dumpsys activity top

adb shell dumpsys activity

adb shell dumpsys activity -h

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

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

# ls  /system/bin

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

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

ls  -l

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

 
ls /data/data

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

ls /data/data/com.android.providers.contacts/databases

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

adb shell
logcat --help
logcat -t 5

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

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

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

ls  -R  /data/data/*/databases

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

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

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

 
#sqlite3  /data/data/com.android.providers.contacts/databases/contacts.db

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

sqlite> .exit

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

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

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

adb shell screenrecord /sdcard/my_app.mp4

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

adb pull /sdcard/my_app.mp4

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

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

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

—size <ШИРИНАxВЫСОТА> Задает разрешение, например: 1280×720. По умолчанию этот параметр установлен в соответствии с разрешением главного экрана устройства (если поддерживается), или 1280×720 – если нет.

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

screenrecord --bit-rate 6000000 /sdcard/demo.mp4

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

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

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

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

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

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

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

Adblock
detector