Делаем скриншоты Android 2.3.3 и ниже без root

1 Дек
2011

Возможность делать скриншоты без дополнительных средств и манипуляций появилась в Android только с версии 2.3.4. Для Android 2.3.3 и ниже не существует нативной функции снятия скриншотов. Все приложения из маркета для это цели требуют root. Единственный способ (из известных мне) сделать снимок экрана устройства с «устаревшей» версией Android без root (если не рассматривать фотографирование телефона другим устройством) — сделать это с помощью DDMS (Debug Monitor) из Android SDK.

В статье пойдет речь о том как настроить Android SDK, установленным на виртуальной машине с Ubuntu 11.10 в VirtualBox с хостом на Windows 7, для работы с реальным устройством, подключенным к USB, на примере HTC Wildfire (Android 2.2).

1. Установка Android SDK

По ссылке скачайте SDK для Linux. Например, android-sdk_r15-linux.tgz. Название файла может отличаться в зависимости от версии (r15). Теперь необходимо извлечь SDK из архива в удобное для Вас место, например в папку /opt. Для этого кликните на файле архива правой кнопкой мыши и в контекстном меню выберите «Extract here» (для английской версии Ubuntu). После этого в терминале (Ctrl+Alt+T) выполните команду

~$ sudo mv Downloads/android-sdk-linux /opt


Для работы Android SDK необходим JDK (Java Development Kit). Установите его с помощью команды

~$ sudo apt-get install openjdk-6-jdk


Возможно, с JDK 7 все также будет в порядке, однако последуем официальным требованиям.

Теперь запустите Android SDK Manager

~$ /opt/android-sdk-linux/tools/android


и установите пакет Android SDK Platform-tools, который содержит ADB (Android Debug Bridge), необходимый для работы с подключенными устройствами.

2. Настрйока USB

Теперь выключите виртуальную машину и в ее настройках в VirtualBox настройте фильтр USB (телефон должен быть подключен в режиме «Charge only»). В настройках машины в разделе USB нажмите справа на иконку с зеленым крестиком и из списка выберите телефон. Здесь же можно узнать Vendor ID, который нам понадобится в дальнейшем.



Запускаем Ubuntu. После загрузки в меню VirtualBox Devices->USB Devices выбираем наше устройство (виртуально подключаем его).



Возможно на хосте (Windows 7) запустится установка необходимого USB драйвера для VirtualBox.

После этого в Ubuntu с помощью команды

~$ lsusb


можем просмотреть список подключенных устройств USB. Последний в списке ID 0bb4:0c8b High Tech Computer Corp. — устройство HTC. Vendor ID можно узнать и из этой строки (первые четыре знака в 0bb4:0c8b)



Осталось настроить права доступа к USB устройству. Для этого создадим файл с правилами.

~$ sudo touch /etc/udev/rules.d/51-android.rules
~$ sudo gedit /etc/udev/rules.d/51-android.rules


Добавим правила

SUBSYSTEM=="usb",
ATTR{idVendor}=="0bb4",
MODE="0666"


где 0bb4 тот самый Vendor ID, о котором говорилось выше. Сохраним.

Теперь перезагрузим виртуальную машину и снова подключим устройство в меню VirtualBox Devices->USB Devices.

3. Делаем скриншот

В телефоне необходимо включить режим USB Debugging (Settings->Applications->Development). После этого запускаем DDMS

~$ /opt/android-sdk-linux/tools/ddms


Если в окне DDMS вместо имени устройства вы видите что-то типа «???????????????», значит что-то не так с правами доступа к устройству. Проверьте правила в файле 51-android.rules. По умолчанию устройства работают в режиме доступа 0664, что не дает ADB (Android Debug Bridge) корректно работать с подключенными устройствами.



Если все выглядит так как на скриншоте выше, значит все в порядке. Теперь можно делать снимки экрана Вашего, обделенного обновлениями ОС, телефона. Для этого выберите устройство, кликнув на нем в списке, и в меню Device выбериет пункт Screen Capture.

По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх