мобильные ОС   ОС Андроид   ОС Windows   к экономической информатике   ТПОИ  

ОСВМ. Операционная система Android корпорации Google

ADB (Android Debug Bridge)

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

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

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

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

 
adb  help

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

adb.exe install d:\program.apk

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

Install

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

adb uninstall <package name>

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

adb devices

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

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

adb devices
List of devices attached 
0070015947d30e4b device
015d2856b8300a10 device
$ adb -s 015d2856b8300a10 logcat

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

adb stop-server
adb start-server

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

adb backup
adb restore <archive name>

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

adb push <local source file path> <device destination file path>
adb pull <device source file path> <local destination file path>

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

adb  shell

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

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

# ls  /system/bin

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

ADB shell

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

ls  -l

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

 
ls /data/data

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

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

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

Logcat

adb shell
logcat --help
logcat -t 5

Logcat

Backup Manager

Backup

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

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


adb shell monkey <options>

Например, если имя пакета вашего приложения com.myapp и вы хотите сгенерировать 1000 жестов с интервалом 500 миллисекунд, то используйте команду:


adb shell monkey -p com.myapp --throttle 500 -v 1000

Список доступных команд (также смотрите документацию):

Monkey

Для просмотра всех файлов базы данных *.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ВЫСОТА> Задает разрешение, например: 1280x720. По умолчанию этот параметр установлен в соответствии с разрешением главного экрана устройства (если поддерживается), или 1280x720 - если нет.

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

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

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

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

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

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

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

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

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

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

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


adb usb

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


* daemon not running. starting it now on port 5037 *
* daemon started successfully *
restarting in USB mode

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


adb devices

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


List of devices attached
05e18acf        device

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


adb tcpip 5555

Ответ:


restarting in TCP mode port: 5555

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


adb connect 192.168.1.32

Ответ:


connected to 192.168.1.32:5555

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

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


adb devices

Ответ:


List of devices attached
192.168.1.32:5555       device

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

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

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


adb usb

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

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

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

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

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

Shell

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

adb shell am startservice -a <intent action>

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

adb shell pm list packages

Источник: http://developer.alexanderklimov.ru

мобильные ОС   ОС Андроид   ОС Windows   к экономической информатике   ТПОИ  

Знаете ли Вы, что низкочастотные электромагнитные волны частотой менее 100 КГц коренным образом отличаются от более высоких частот падением скорости электромагнитных волн пропорционально корню квадратному их частоты от 300 тысяч кмилометров в секунду при 100 кГц до примерно 7 тыс км/с при 50 Гц.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution