Зробіть знімок екрана в GenyMotion


Відповіді:


40

Застереження: Я є членом тієї ж компанії, що і команда Genymotion.

Ця функція входить у виріб. Це одна з платних функцій віджета screencast. Подивіться на сторінку цін тут .

Два способи доступу до нього:

  • оплатити про-інді-ліцензію
  • використовуйте пробну версію, вона пропонує вам інді-функції. Будьте обережні , залишився лише один пробний день: - /

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

введіть тут опис зображення

Потім сфотографуйте за допомогою спеціальної кнопки

введіть тут опис зображення

ОНОВЛЕННЯ. Нижче наведено інші способи зробити знімок екрана за допомогою Android Device Monitor або командного рядка


1
Щиро дякую за ваш коментар
kavie

2
Спасибі дяко. Зазвичай на StackOverflow, якщо відповідь вирішує вашу проблему, вам потрібно позначити її як вирішену, а не голосувати проти, як ви це зробили.
eyal-lezmy

193

Якщо ви використовуєте Android Studio або Eclipse, ви можете просто натиснути кнопку "Захоплення екрану" в Android DDMS:

введіть тут опис зображення


2
Це також працює в Eclipse, і не тільки в Android Studio. Просто перейдіть на DDMS і натисніть на символ камери, вибравши потрібний пристрій.
X.X_Mass_Developer

4
Це не буде працювати для пристроїв 2.3.7 на Genymotion, оскільки наразі в їх реалізації framebufer є помилка. Просто FYI.
Рек

Чи є для цього ярлик?
LiangWang

якщо з'являється помилка, яка не може підключитися до пристрою, просто перезапустіть Android Studio :)
Холецький

52

Ви можете використовувати 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термінал і отримати знімок екрана запущеного в даний час емулятора в моєму каталозі завантажень.


3
На Mac я отримував adb server is out of date. killing...помилки при спробі цього. Я виправив це, використовуючи adbвключений у Genymotion:/Applications/Genymotion.app/Contents/MacOS/tools/adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png
cgenco

Приємно! Чудово працює!
sdfsdf

класно, тому мені не потрібно оновлювати ліцензію на genymotion: cry:!
liu pluto

Це відповідь рівня PRO, дякую! Подібно до оновлення, на Mac OSX він наразі працює за командою: alias screenshot = "adb shell screencap -p> ~ / Downloads / android_screenshot.png"
Хуангі Джордан

1
Я вважаю за краще зробити ім'я унікальним, додавши позначку часу: alias screenshot = '/ Applications / Genymotion.app / Contents / MacOS / tools / adb shell screencap -p | perl -pe 's / \ x0D \ x0A / \ x0A / g'> ~ / Робочий стіл / Скріншот Android_ _ _ (дата "+% Y-% m-% d-% H-% M" -% S) .png '
Musa almatri

24

Використовуйте ці команди:

  • 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
    

1
З невеликими змінами, це працює для мене:adb shell screencap -p "/mnt/sdcard/output.png" && adb pull "/mnt/sdcard/output.png" . && adb shell rm "/mnt/sdcard/output.png"
manikanta

Я вважаю, що звичайний користувач у Windows не має дозволу писати безпосередньо на "C: \", тому вам краще змінити цільове розташування adb pullна каталог, де ви дійсно маєте права на запис, щоб переконатися, що це працює. В іншому випадку досить просте та елегантне рішення, дякую!
SaAtomic

1
Дякую, @SaAtomic, я відредагував свою відповідь із приміткою.
gabrielmaldi

error: cannot connect to daemon: cannot connect to 127.0.0.1:5037 (10061)
JCarlosR

13
  1. Виберіть симулятор genymotion
  2. Клавіша швидкого доступу натисніть опис нижче

    • Windows: Ctrl + Shift + S

    • Mac: Cmd + Shift + S

  3. Ви можете знайти свої скріншоти на робочому столі


1
Це працює, але скріншот не можна зберегти на робочому столі. Збережено в C: / Users / ~ LoginName ~ / ~ AVD Name ~ / Screenshot-datetimestamp.png
Mohamed Mohaideen AH

1
Для mac це залежить від шляху до папки вашого знімка екрана, за замовчуванням - робочий стіл
Iliyass Hamza

Дякую за підказку! Це працює навіть з безкоштовною версією Genymotion 2.8.0 (Windows) :)
AntonK

11

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

У Virtualbox ви знайдете варіанти для зйомки відео! введіть тут опис зображення


Я відкрив Oracle VM VirtualBox ManagerWindows 7, і він нічим не схожий на ваш ...
TWiStErRob

Я щойно встановив VirtualBox на Win7, і це для мене виглядає так. i.imgur.com/XKqlFW2.jpg
TrophyGeek

Це «лінукс», чи є у вас однакові опції для Android Genymotion? (Можливо, це працює лише над Android 4, я спробував 2.3.7)
TWiStErRob

1
ви пробували це? Для VirtualBox на debian він записує лише повідомлення ядра пристроїв Android.
dols

Ви не можете запустити пристрій genymotion безпосередньо з virtualBox. Це рішення не працює.
Даніеле


5

Якщо ваш Mac працює повільно, і ви ненавидите запускати Eclipse та емулятор разом, це швидший спосіб.

  1. Експортуйте свій apk.
  2. Запустіть Genymotion.
  3. Перетягніть apk до емулятора, щоб встановити його.
  4. Перейдіть до 'android-sdk-macosx> tools> ddms'.
  5. Запустіть цей файл.
  6. Буде запущено новий екземпляр ddms. На відміну від Eclipse, він не уповільнює роботу вашої системи.
  7. Скористайтеся опцією «Меню> Пристрій> Знімок екрана», щоб зробити знімок екрана.

Це хороший варіант для тих, хто використовує повільні комп’ютери.


3

Якщо ви використовуєте Eclipse, виконайте кроки для будь-якого типу емулятора: 1. Виберіть DDMS 2. У вікні Пристрої DDMS виберіть пристрій Genymotion 3. Клацніть на піктограму Камера та збережіть її у певному місці. У вікні Пристрої просто клацніть на піктограму Камера.  Я вже позначаю це по колу тут


2

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


0

@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());

Єдине обмеження, яке я знаю, - це те, що він не включатиме рядок стану.


0

якщо ви використовуєте Mac, іноді достатньо CMD + Shift + 4 (знімок екрана вибраної частини в OSX), а потім вибрати область симулятора :)


0

Зробіть знімок екрана

На багатьох пристроях Android можна зробити знімок екрана за допомогою комбінації клавіш: одночасно натисніть і утримуйте живлення та зменшення гучності. Ви також можете зробити знімок екрана за допомогою Android Studio таким чином:

Запустіть програму на підключеному пристрої або емуляторі. Якщо ви використовуєте підключений пристрій, переконайтеся, що ви ввімкнули налагодження USB. В Android Studio виберіть Перегляд> Інструмент Windows> Logcat, щоб відкрити Logcat. Виберіть пристрій і процес зі спадного меню у верхній частині вікна. Клацніть Захоплення екрана в лівій частині вікна. Знімок екрана з'являється у вікні редактора знімків екрана

Це працює навіть для емулятора Genymotion

Перегляньте тут для отримання додаткової інформації

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.