мобильные ОС   ОС Андроид   ОС 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   к экономической информатике   ТПОИ  

Знаете ли Вы, что, как и всякая идолопоклонническая религия, релятивизм ложен в своей основе. Он противоречит фактам. Среди них такие:

1. Электромагнитная волна (в религиозной терминологии релятивизма - "свет") имеет строго постоянную скорость 300 тыс.км/с, абсурдно не отсчитываемую ни от чего. Реально ЭМ-волны имеют разную скорость в веществе (например, ~200 тыс км/с в стекле и ~3 млн. км/с в поверхностных слоях металлов, разную скорость в эфире (см. статью "Температура эфира и красные смещения"), разную скорость для разных частот (см. статью "О скорости ЭМ-волн")

2. В релятивизме "свет" есть мифическое явление само по себе, а не физическая волна, являющаяся волнением определенной физической среды. Релятивистский "свет" - это волнение ничего в ничем. У него нет среды-носителя колебаний.

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

4. В гравитационном релятивизме (ОТО) вопреки наблюдаемым фактам утверждается об угловом отклонении ЭМ-волн в пустом пространстве под действием гравитации. Однако астрономам известно, что свет от затменных двойных звезд не подвержен такому отклонению, а те "подтверждающие теорию Эйнштейна факты", которые якобы наблюдались А. Эддингтоном в 1919 году в отношении Солнца, являются фальсификацией. Подробнее читайте в FAQ по эфирной физике.

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

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


Рыцари теории эфира
 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