Korzystanie z ADB do przechwytywania ekranu
Staram się jak najszybciej zrobić zrzut ekranu telefonu.
Aktualnie robię:
adb shell screencap -p/sdcard/screencap.png && adb pull/sdcard/screencap.png
Jest to jednak zbyt wolne i trwa do 3 sekund.
Czy jest lepszy sposób, aby to zrobić? Zamierzam używać tej funkcji z niezrootowanym telefonem.
Ponadto, jakich różnych argumentów mogę użyć w przypadku screencapu?
Podziękować.
EDYCJA (więcej informacji): Zamierzam użyć tej metody, aby móc uzyskać transmisję ekranu na żywo na mój komputer. Obecna metoda działa, ale jest zbyt wolna. Nie mogę użyć
adb shell screenrecord, ponieważ nie mogę uzyskać dostępu do pliku wideo podczas jego nagrywania.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
6 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
https://stackoverflow.com/a/37191719/75579
odpowiedź jakoś przestała mi działać w Androidzie 7. Więc muszę to zrobić ręcznie, więc chcę się tym podzielić.
Jak zainstalować program
>
snap_screen() { if [ $# -eq 0 ] then name="screenshot.png" else name="$1.png" fi adb shell screencap -p/sdcard/$name adb pull/sdcard/$name adb shell rm/sdcard/$name curr_dir=pwd echo "save to `pwd`/$name"}
Jak używać
>
Używanie bez określania nazwy pliku:
Użycie z nazwą pliku:
Mam nadzieję że to pomoże!
** To nie zadziała, jeśli podłączonych jest wiele urządzeń
Anonimowy użytkownik
Potwierdzenie od:
To polecenie rozpocznie nagrywanie ekranu urządzenia przy użyciu ustawień domyślnych i zapisze wynikowe wideo do pliku w pliku/sdcard/example.mp4 na urządzeniu.
Po zakończeniu nagrywania naciśnij Ctrl + C w oknie wiersza polecenia, aby zatrzymać nagrywanie ekranu. Następnie możesz znaleźć plik nagrania ekranu w określonej lokalizacji. Należy pamiętać, że nagranie ekranu jest zapisywane w pamięci wewnętrznej urządzenia, a nie na komputerze.
Domyślnie używana jest standardowa rozdzielczość ekranu urządzenia, kodowanie wideo z szybkością transmisji 4 Mb/si maksymalny czas nagrywania ekranu 180 sekund. Aby uzyskać więcej informacji na temat parametrów wiersza polecenia, których możesz użyć, uruchom następujące polecenie:
Działa to bez rootowania urządzenia. Mam nadzieję że to pomoże.
Anonimowy użytkownik
Potwierdzenie od:
Powinno to zaoszczędzić trochę czasu, ale nie za dużo.
źródło:
odczytywanie danych binarnych stdout z powłoki adb?
https://coderoad.ru/13578416/
Anonimowy użytkownik
Potwierdzenie od:
Opublikowałem bardzo prosty skrypt Pythona na GitHubie, który zasadniczo odzwierciedla ekran urządzenia podłączonego przez ADB:
https://github.com/baitisj/android_screen_mirror
https://github.com/baitisj/android_screen_mirror
Anonimowy użytkownik
Potwierdzenie od:
Oprócz polecenia jest jeszcze jedno polecenie , nie wiem, dlaczego zostało usunięte z . ale jest dostępny poniżej , źródło możesz sprawdzić tutaj. Nie dokonałem własnego porównania, które jest szybsze między nimi, ale możesz wypróbować to w swoim prawdziwym środowisku i podjąć ostateczną decyzję.