Захват снимка экрана в GenyMotion

Я использую Genymotion для запуска приложения для Android. Может ли кто-нибудь сказать мне, как сделать снимок экрана в Genymotion?

Ответ 1

Отказ от ответственности: я являюсь частью той же компании, что и команда Genymotion.

Эта функция включена в продукт. Это одна из платных функций виджета screencast. Посмотрите на страницу цены здесь.

Два способа доступа к нему:

  • платить за лицензию pro или indie
  • используйте пробную версию, она предлагает вам инди-функции. Будьте осторожны, осталось только один пробный день: -/

Как только ваша виртуальная машина запущена, откройте виджет screencast

enter image description here

Затем сделайте снимок с помощью выделенной кнопки

enter image description here

ОБНОВЛЕНИЕ: Ниже вы можете сделать скриншот с помощью Android Device Monitor или командной строки

Ответ 2

Если вы используете Android Studio или Eclipse, вы можете просто нажать кнопку "Screen Capture" в Android DDMS:

enter image description here

Ответ 3

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

adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png

В этой статье есть следующие сведения: http://blog.shvetsov.com/2013/02/grab-android-screenshot-to-computer-via.html

Чтобы облегчить мою жизнь, я сделал псевдоним в .bash_profile:

alias screenshot="adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png"

Теперь я могу набрать screenshot в Terminal и получить скриншот текущего запущенного эмулятора в каталоге загрузки.

Ответ 4

Используйте следующие команды:

  • Окна:

    C:\"Program Files"\Genymobile\Genymotion\tools\adb shell screencap -p "/mnt/sdcard/output.png" && C:\"Program Files"\Genymobile\Genymotion\tools\adb pull "/mnt/sdcard/output.png" "C:\output.png" && C:\"Program Files"\Genymobile\Genymotion\tools\adb shell rm "/mnt/sdcard/output.png"
    
    • Примечание. Убедитесь, что у вас есть разрешение на запись в C:\output.png; в противном случае измените его на любой желаемый путь.
  • OS X:

    /Applications/Genymotion.app/Contents/MacOS/tools/adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Desktop/Android_Screenshot_$(date +%Y-%m-%d-%H-%M-%S).png
    

Ответ 5

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

В Virtualbox вы найдете опции для захвата видео! enter image description here

Ответ 6

adb shell screencap -p/sdcard/screen.png

Ответ 7

Если ваш Mac работает медленно, и вы ненавидите запуск Eclipse, а эмулятор вместе - это более быстрый способ.

  • Экспорт вашего apk.
  • Запустите Genymotion.
  • Перетащите apk в эмулятор, чтобы установить его.
  • Перейдите к 'android-sdk-macosx > tools > ddms'.
  • Запустите этот файл.
  • Будет запущен новый экземпляр ddms. В отличие от Eclipse, это не замедляет работу вашей системы.
  • Используйте параметр "Меню > Устройство > Снимок экрана", чтобы сделать снимок экрана.

Это хороший вариант для тех, кто использует медленные компьютеры.

Ответ 8

Если вы используете Eclipse, следуйте инструкциям для эмулятора любого типа: 1. Выберите DDMS 2. В окне "Устройства" DDMS выберите "Устройство Genymotion" 3. Нажмите значок камеры и сохраните его в определенном месте. In Devices window just click on Camera icon. I already mark it by circle here

Ответ 9

Для Linux и Windows (я использовал gitbash на windows) adb shell screencap -p | sed 's/\r$//' > screen.png Для Mac adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png

Ответ 10

  • Выберите симулятор genymotion
  • Нажмите клавишу быстрого доступа ниже

    • Windows: Ctrl + Shift + S

    • Mac: Cmd + Shift + S

  • Вы можете найти скриншоты на рабочем столе

Ответ 11

@Reck говорит, что в реализации Genymotion есть ошибка, поэтому мы не можем делать скриншоты на 2.3.7. Это означает, что Android Studio/DDMS не может получить правильные пиксели. adb shell screencap говорит, что нет команды screencap.

Предполагая, что у вас есть доступ к коду, вы можете просто вызвать этот метод:

public static void screenshot(View view) {
    Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
    view.draw(new Canvas(bitmap));
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    try {
        File storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
        storageDir.mkdirs();
        File file = File.createTempFile(timeStamp, ".png", storageDir);
        bitmap.compress(Bitmap.CompressFormat.PNG, 0, new FileOutputStream(file));
        Log.i("SCREENSHOT", "adb pull " + file);
    } catch (IOException e) {
        Log.e("SCREENSHOT", "Cannot save screenshot of " + view, e);
    }
}

В действии:

screenshot(getWindow().getDecorView());

В фрагменте:

screenshot(getActivity().getWindow().getDecorView());

Единственное ограничение, которое я знаю, это то, что он не будет включать строку состояния.

Ответ 12

если вы используете Mac, иногда CMD + Shift + 4 (снимок экрана выбранной части в OSX), а затем выбор области симулятора достаточно:)