Я використовую Genymotion для запуску програми для Android. Хтось може сказати мені, як зробити знімок екрану у Genymotion ?
Я використовую Genymotion для запуску програми для Android. Хтось може сказати мені, як зробити знімок екрану у Genymotion ?
Відповіді:
Застереження: Я є членом тієї ж компанії, що і команда Genymotion.
Ця функція входить у виріб. Це одна з платних функцій віджета screencast. Подивіться на сторінку цін тут .
Два способи доступу до нього:
Після запуску віртуальної машини відкрийте віджет screencast
Потім сфотографуйте за допомогою спеціальної кнопки
ОНОВЛЕННЯ. Нижче наведено інші способи зробити знімок екрана за допомогою Android Device Monitor або командного рядка
Якщо ви використовуєте Android Studio або Eclipse, ви можете просто натиснути кнопку "Захоплення екрану" в Android DDMS:
Ви можете використовувати 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
термінал і отримати знімок екрана запущеного в даний час емулятора в моєму каталозі завантажень.
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
Використовуйте ці команди:
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
adb shell screencap -p "/mnt/sdcard/output.png" && adb pull "/mnt/sdcard/output.png" . && adb shell rm "/mnt/sdcard/output.png"
adb pull
на каталог, де ви дійсно маєте права на запис, щоб переконатися, що це працює. В іншому випадку досить просте та елегантне рішення, дякую!
error: cannot connect to daemon: cannot connect to 127.0.0.1:5037 (10061)
Клавіша швидкого доступу натисніть опис нижче
Windows: Ctrl + Shift + S
Mac: Cmd + Shift + S
Ви можете знайти свої скріншоти на робочому столі
Я думаю, ви також можете безкоштовно знімати відео. Genymotion використовує VirtualBox для виконання майже всіх важких ситуацій, тому вам слід відкрити VirtualBox і подивитися, що ви можете в ньому зробити.
У Virtualbox ви знайдете варіанти для зйомки відео!
Oracle VM VirtualBox Manager
Windows 7, і він нічим не схожий на ваш ...
Якщо ваш Mac працює повільно, і ви ненавидите запускати Eclipse та емулятор разом, це швидший спосіб.
Це хороший варіант для тих, хто використовує повільні комп’ютери.
@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());
Єдине обмеження, яке я знаю, - це те, що він не включатиме рядок стану.
Зробіть знімок екрана
На багатьох пристроях Android можна зробити знімок екрана за допомогою комбінації клавіш: одночасно натисніть і утримуйте живлення та зменшення гучності. Ви також можете зробити знімок екрана за допомогою Android Studio таким чином:
Запустіть програму на підключеному пристрої або емуляторі. Якщо ви використовуєте підключений пристрій, переконайтеся, що ви ввімкнули налагодження USB. В Android Studio виберіть Перегляд> Інструмент Windows> Logcat, щоб відкрити Logcat. Виберіть пристрій і процес зі спадного меню у верхній частині вікна. Клацніть Захоплення екрана в лівій частині вікна. Знімок екрана з'являється у вікні редактора знімків екрана
Це працює навіть для емулятора Genymotion