Как сделать скриншот на нерутованном устройстве при помощи Android SDK

Как сделать скриншот на нерутованном устройстве при помощи Android SDK

Потребность в том, чтобы получить снимок экрана мобильного устройства на базе Android возникает довольно часто. Для этого действия существуют удобные приложения под эту систему. Которые позволяют делать скриншоты прямо на устройстве – ShootMe, Screenshot UX, Screenshot ER и другие. Однако большинству из них для работы нужен полученный root-доступ на девайсе. Рутовать устройство не всегда хочется.

Утилиты ddms как замена стандарту.

Отличной альтернативой вышеупомянутым приложениям для Android. Станет способ получения скриншотов с помощью утилиты ddms. Входящей в состав Android SDK. О нем и поговорим…

    1. Для того чтобы воспользоваться утилитой. Нам сначала необходимо будет поселить на своем компьютере инструментарий разработчиков под Android. Не пугайтесь – не весь. Для начала нам нужно установить на компьютер свежую версию JDK, которую можно загрузить с официальной страницы.
    2. Теперь нам понадобится сам инструментарий, Android SDK. Его можно загрузить отсюда. Для того чтобы мы могли сделать скриншоты в Android при помощи Android SDK. Нам понадобится утилита ddms, входящая в состав SDK. Её можно найти в директории tools. Установленного набора разработчика.
      Но для её работы необходима утилита adb (Android Debug Bridge), которая располагается в соседней директории, platform-tools. Но, скорее всего, такой директории в папке с установленным Android SDK не окажется. Тогда ddms при запуске выдаст такую ошибку («Failed to get adb version»):

      Работа с Android SDK Manager

      Поэтому нужно установить пакет, содержащий adb. Для этого нужно запустить приложение Android SDK Manager, находящееся в корне директории с установленным SDK. В появившемся окне достаточно установить одну галочку, напротив пункта «Android SDK Platform-tools», и затем нажать кнопку «Install»:Если SDK Manager вдруг не захочет запускаться. То тут собраны советы, которые могут помочь в этом случае. Выполним ремонт iphone X, заменим детали, запишитесь к нам!

Отладки по USB из командной строки.

  1. Теперь нужно активировать режим отладки по USB на устройстве. Для этого нужно пройти в «Настройки», а затем «Приложения» -> «Разработка» . В этом окне поставить галочку напротив пункта «Отладка по USB».
  2. После этого устройство нужно подключить к компьютеру посредством USB.
  3. Утилита Android Debug Bridge нужна для взаимодействия приложений, входящих в инструментарий разработчика. С подключенными устройствами (в т. ч. виртуальными). Подробнее об adb можно прочесть в этой заметке.Управляется adb из командной строки. Чтобы было удобнее это делать. Рекомендую добавить путь к папке platform-tools в переменную среды Path. Например, чтобы убедиться в том, что adb корректно взаимодействует с подключенным устройством. В командной строке операционной системы можно набрать:adb shell.
    Если появится значок $, приглашающий к вводу команд, то всё работает хорошо.

    Может быть полезна ещё одна команда – «adb kill-server».
    Которая завершит серверный процесс в случае, если что-то пойдет не так.

  4. Всё готово, теперь можно пройти в папку tools и запустить утилиту  ddms.
    ddms или Dalvik Debug Monitor Server – это утилита, которая позволяет разработчику работать с файловой системой устройства. Получать различную информацию, следить за распределением памяти и многое другое, в т.ч. и делать снимки экрана. Это помогает в отладке приложений под Android.
    Мы увидим такое окно:

    Для получения скриншота Android нам необходимо выбрать в списке слева необходимое устройство, а затем в меню выбрать «Device» -> «Screen capture». Появится окно менеджера скриншотов со сделанным снимком экрана устройства:
    Выше картинки расположены пять кнопок. «Refresh» позволяет получить новый скриншот.
    «Rotate» поворачивает изображение по часовой стрелке.
    «Save» предназначена для сохранения полученного снимка.
    «Copy» помещает его в буфер обмена.
    «Done» завершает работу с менеджером скриншотов.

Таким образом, мы научились делать скриншоты Android при помощи Android SDK и его компонентов. Данный способ позволяет получить снимок экрана с Android-устройства без root-прав. Однако обладает и своим недостатком – для него необходим компьютер.