Захват экрана в того, как Genymotion


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

12 75

12 ответов:

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

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

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

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

после запуска виртуальной машины откройте виджет screencast

enter image description here

затем сделайте снимок с помощью специальной кнопки

enter image description here

обновление: у вас есть ниже другие способы сделать снимок экрана с помощью Android Монитор Устройства или командная строка

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

enter image description here

вы можете использовать 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

чтобы сделать мою жизнь проще ,я сделал псевдоним.файл:

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

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

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

  • Windows:

    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
    

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

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

adb shell screencap-p / sdcard / screen.png

  1. выберите genymotion simulator
  2. нажмите клавишу быстрого доступа, описанную ниже

    • Windows: Ctrl + Shift+S

    • Mac : Cmd + Shift+S

  3. вы можете найти свои скриншоты на рабочем столе

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

  1. экспорт apk.
  2. Запуск Genymotion.
  3. перетащите apk в эмулятор, чтобы установить его.
  4. перейдите в раздел 'android-sdk-macosx>tools>ddms'.
  5. запустите этот файл.
  6. будет запущен новый экземпляр ddms. В отличие от Eclipse, он не замедляет работу вашей системы.
  7. используйте 'меню > устройство>скриншот' возможность сделать скриншот.

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

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

для 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

@Reck говорит, что в реализации Genymotion есть ошибка, поэтому мы не можем делать скриншоты на 2.3.7. Это означает, что Android Studio / DDMS не может получить правильные пиксели. adb shell 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());

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

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