[Android] Waiting for device

Иногда бывает, что adb видит сразу несколько устройств — к примеру, эмулятор и реальное устройство, подключенное к компьютеру, из-за чего выполнять команды становится невозможным (будет писаться waiting for device).

# adb devices
List of devices attached
emulator-5554 device
HT9TWA12709 device

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

Есть два выхода:

1. Указывать ключ -d, если хотим использовать реальное устройство (подключенное через USB) или ключ -e, если хотим использовать эмулятор
2. Выполнить команду adb -e reboot bootloader, которая в данном уберет эмулятор из списка

[Android] Изменение host-файла

Задача: добавить в host-файл свою запись

Элегантное решение на примере эмулятора:

1. Запустить эмулятор: emulator -avd <EmulatorName> -partition-size 256

2. Выполнить команду adb shell

3. И последний этап: echo 127.0.0.1 NewHost >> /etc/hosts

Основные горячие клавиши в Android Emulator

Home — кнопка «Домой»
F2 (или Page Up) — левая софт-кнопка (отвечает за меню)
Shift + F2 (или Page down) — правая софт-кнопка
Esc — кнопка «Назад»
F3 — кнопка вызова / набора номера
F4 — кнопка отбоя вызова
F5 — кнопка поиска
Ctrl + F5 — кнопка увеличение громкости
Ctrl + F6 — кнопка уменьшение громкости
F7 — кнопка питания / блокировки экрана
Ctrl + F3 — кнопка запуска камеры
Ctrl + F11 — смена ориентации экрана (портретная / ландшафтная)
Alt + Enter — переход в полноэкранный режим просмотра

Задаем скорость и задержку соединения в Android-эмуляторе

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

emulator -avd <avd_name> -netspeed <up>:<down>

Готовые профили:

-netspeed gsm — GSM/CSD (up: 14.4, down: 14.4)
-netspeed hscsd — HSCSD (up: 14.4, down: 43.2)
-netspeed gprs — GPRS (up: 40.0, down: 80.0)
-netspeed edge — EDGE/EGPRS (up: 118.4, down: 236.8)
-netspeed umts — UMTS/3G (up: 128.0, down: 1920.0)
-netspeed hsdpa — HSDPA (up: 348.0, down: 14400.0)
-netspeed full — без ограничения (up: 0.0, down: 0.0)

Задержка (в миллисекундах) устанавливается так:

emulator -avd <avd_name> -netdelay :

Готовые профили:

-netdelay gprs — GPRS (min 150, max 550)
-netdelay edge — EDGE/EGPRS (min 80, max 400)
-netdelay umts — UMTS/3G (min 35, max 200)

Подробнее о команде:

emulator -help-netspeed

Эмуляторы Opera Mobile и Opera Mini

Бывает, что порой необходимо посмотреть поведение сайта на мобильном устройстве, но самого устройства под рукой нет. В такой ситуации на помощь приходят эмуляторы мобильных браузеров. В частности, на сайте Opera уже давно есть два эмулятора — один Opera Mobile (exe), другой — Opera Mini (java-апплет). Если говорить про Opera Mobile, то в настройках этого эмулятора можно также указывать, на каком телефоне необходимо открыть сайт (поддерживаются наиболее популярные модели смартфонов).

Opera Mobile Emulator

Эмуляторы *nix для Windows

Если кто не знал, то для системы семейства Windows есть эмуляторы среды *nix. Одним из самых известных является Cygwin, который до сих пор активно развивается. Microsoft также не осталась в стороне, и имеет в своем распоряжении пакет под названием Microsoft Windows Services for UNIX (SFU). Он, в отличии от Cygwin, уже не обновляется (последняя версия 3.5 датируется 2007 годом), а поддержка заканчивается в этом году.

SFU 3.5, размером в 220 МБ, включает в себя:

  • Более 350 утилит Unix, таких как vi, ksh, csh, ls, cat, awk, grep, kill, и т. п.
  • компилятор GCC 3.3, в том числе заголовочные файлы и библиотеки (через Microsoft libc)
  • cc-подобный упаковщик для C/C++ компилятора командной строки Microsoft Visual Studio
  • отладчик GDB
  • сервер и клиент NFS
  • Демоны pcnfsd
  • Утилиты и библиотеки X11
  • Утилиты для монтирования ресурсов NFS как разделяемые каталоги Windows и наоборот (гейтвеи)
  • Сервер Network Information Service, сопряжённый с Active Directory
  • Некоторые утилиты синхронизации токенов аутентификации Windows и Unix

SFU не включает в себя: bash, OpenSSH, sudo, CVS, ClamAV, bzip2, gmake, curl, emacs, Apache, XView, Ruby, Tcl, Python.

Установщик Cygwin, в свою очередь, имеет крохотный размер за счет того, что выкачивает из Интернета все необходимые и выбранные пакеты на этапе установки. Список того, чтобы можно установить — внушителен. Те пакеты, которые не включены в SFU (OpenSSH, Apache, curl и т.д.) доступны из репозиториев для Cygwin.

cygwin