Używam Genymotion do uruchamiania aplikacji na Androida. Czy ktoś mógłby mi powiedzieć, jak zrobić zrzut ekranu w Genymotion ?
Używam Genymotion do uruchamiania aplikacji na Androida. Czy ktoś mógłby mi powiedzieć, jak zrobić zrzut ekranu w Genymotion ?
Odpowiedzi:
Zastrzeżenie: jestem częścią tej samej firmy, co zespół Genymotion.
Ta funkcja jest zawarta w produkcie. Jest to jedna z płatnych funkcji widgetu screencast. Spójrz na stronę z cenami tutaj .
Dwa sposoby uzyskania do niego dostępu:
Po uruchomieniu maszyny wirtualnej otwórz widżet prezentacji ekranu
Następnie zrób zdjęcie dedykowanym przyciskiem
AKTUALIZACJA: Poniżej znajdziesz inne sposoby zrobienia zrzutu ekranu za pomocą monitora urządzeń Android lub wiersza poleceń
Jeśli korzystasz z Android Studio lub Eclipse, możesz po prostu kliknąć przycisk „Zrzut ekranu” w Android DDMS:
Możesz użyć adb, aby uzyskać zrzut ekranu z wiersza poleceń:
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
Ten artykuł zawiera szczegółowe informacje: http://blog.shvetsov.com/2013/02/grab-android-screenshot-to-computer-via.html
Aby ułatwić sobie życie, utworzyłem alias w .bash_profile:
alias screenshot="adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png"
Teraz mogę wpisać screenshot
w Terminalu i uzyskać zrzut ekranu aktualnie działającego emulatora w moim katalogu Pobrane.
adb server is out of date. killing...
Podczas próby na komputerze Mac otrzymywałem błędy. Naprawiłem to za pomocą adb
dołączonego do Genymotion:/Applications/Genymotion.app/Contents/MacOS/tools/adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png
Użyj tych poleceń:
Okna:
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
; w przeciwnym razie zmień ją na dowolną ścieżkę.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
na katalog, w którym naprawdę masz prawa do zapisu, aby upewnić się, że to działa. W przeciwnym razie całkiem proste i eleganckie rozwiązanie, dzięki!
error: cannot connect to daemon: cannot connect to 127.0.0.1:5037 (10061)
Naciśnij klawisz skrótu opisany poniżej
Windows: Ctrl + Shift + S
Mac: Cmd + Shift + S
Możesz znaleźć swoje zrzuty ekranu na pulpicie
Myślę, że możesz też nagrywać filmy za darmo. Genymotion używa VirtualBox do wykonywania prawie wszystkich ciężkich prac, więc powinieneś otworzyć VirtualBox i zobaczyć, co możesz w nim zrobić.
W Virtualbox znajdziesz opcje przechwytywania wideo!
Oracle VM VirtualBox Manager
na Windows 7 i nie wygląda to jak twój ...
Jeśli twój Mac jest wolny i nienawidzisz uruchamiania Eclipse i emulatora razem, tutaj jest szybszy sposób.
To dobra opcja dla osób korzystających z wolnych komputerów.
@Reck mówi, że w implementacji Genymotion jest błąd, więc nie możemy robić zrzutów ekranu w wersji 2.3.7. Oznacza to, że Android Studio / DDMS nie może uzyskać odpowiednich pikseli. adb shell screencap
mówi, że nie ma screencap
polecenia.
Zakładając, że masz dostęp do kodu, możesz po prostu wywołać tę metodę:
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);
}
}
W aktywności:
screenshot(getWindow().getDecorView());
Fragmentowo:
screenshot(getActivity().getWindow().getDecorView());
Jedyne ograniczenie, jakie znam, to brak paska stanu.
Zrób zrzut ekranu
Na wielu urządzeniach z Androidem możesz zrobić zrzut ekranu za pomocą kombinacji klawiszy: jednocześnie naciśnij i przytrzymaj przycisk zasilania i zmniejszania głośności. Możesz także zrobić zrzut ekranu za pomocą Android Studio w następujący sposób:
Uruchom aplikację na podłączonym urządzeniu lub emulatorze. Jeśli używasz podłączonego urządzenia, upewnij się, że włączono debugowanie USB. W Android Studio wybierz View> Tool Windows> Logcat, aby otworzyć Logcat. Wybierz urządzenie i proces z listy rozwijanej u góry okna. Kliknij opcję Zrzut ekranu po lewej stronie okna. Zrzut ekranu pojawi się w oknie edytora zrzutów ekranu
Działa nawet dla emulatora Genymotion