-
-
Notifications
You must be signed in to change notification settings - Fork 12.2k
README.de
Only the original README is guaranteed to be up-to-date.
ausgesprochen "screen copy"
Diese Anwendung liefert sowohl Anzeige als auch Steuerung eines Android-Gerätes über USB (oder über TCP/IP). Dabei wird kein root Zugriff benötigt. Die Anwendung funktioniert unter GNU/Linux, Windows und macOS.

Dabei liegt der Fokus auf:
- Leichtigkeit: native, nur Anzeige des Gerätedisplays
- Leistung: 30~120fps, abhängig vom Gerät
- Qualität: 1920×1080 oder mehr
- Geringe Latenz: 35~70ms
- Kurze Startzeit: ~1 Sekunde um das erste Bild anzuzeigen
- Keine Aufdringlichkeit: Es wird keine installierte Software auf dem Gerät zurückgelassen
- Nutzervorteile: kein Account, keine Werbung, kein Internetzugriff notwendig
- Freiheit: gratis und open-source
Die Features beinhalten:
- Aufnahme
- Spiegeln mit ausgeschaltetem Bildschirm
- Copy&Paste in beide Richtungen
- Einstellbare Qualität
- Gerätebildschirm als Webcam (V4L2) (nur Linux)
- Simulation einer physischen Tastatur (HID) (nur Linux)
- Simulation einer physischen Maus (HID) (nur Linux)
- OTG Modus (nur Linux)
- und mehr…
Das Android-Gerät benötigt mindestens API 21 (Android 5.0).
Es muss sichergestellt sein, dass adb debugging auf dem Gerät aktiv ist.
Auf manchen Geräten müssen zudem weitere Optionen aktiv sein um das Gerät mit Maus und Tastatur steuern zu können.
- Linux:
apt install scrcpy - Windows: download (siehe README)
- macOS:
brew install scrcpy
Direkt von der Source bauen: BUILD (vereinfachter Prozess (englisch))
Auf Debian und Ubuntu:
apt install scrcpy
Auf Arch Linux:
pacman -S scrcpy
Ein Snap package ist verfügbar: scrcpy.
Für Fedora ist ein COPR package verfügbar: scrcpy.
Für Gentoo ist ein Ebuild verfügbar: scrcpy/.
Die App kann zudem manuell gebaut werden (vereinfachter Prozess (englisch)).
Für Windows ist der Einfachheit halber ein vorgebautes Archiv mit allen Abhängigkeiten (inklusive adb) vorhanden.
Es ist zudem in Chocolatey vorhanden:
choco install scrcpy
choco install adb # falls noch nicht vorhandenUnd in Scoop:
scoop install scrcpy
scoop install adb # falls noch nicht vorhandenDie App kann zudem manuell gebaut werden.
Die Anwendung ist in Homebrew verfügbar. Installation:
brew install scrcpyEs wird adb benötigt, auf welches über PATH zugegriffen werden kann. Falls noch nicht vorhanden:
brew install android-platform-toolsEs ist außerdem in MacPorts vorhanden, welches adb bereits aufsetzt:
sudo port install scrcpyDie Anwendung kann zudem manuell gebaut werden.
Ein Android-Gerät anschließen und diese Befehle ausführen:
scrcpyDabei werden Kommandozeilenargumente akzeptiert, aufgelistet per:
scrcpy --helpManchmal ist es sinnvoll, das Android-Gerät mit einer geringeren Auflösung zu spiegeln, um die Leistung zu erhöhen.
Um die Höhe und Breite auf einen Wert zu limitieren (z.B. 1024):
scrcpy --max-size 1024
scrcpy -m 1024 # short versionDie andere Größe wird dabei so berechnet, dass das Seitenverhältnis des Gerätes erhalten bleibt. In diesem Fall wird ein Gerät mit einer 1920×1080-Auflösung mit 1024×576 gespiegelt.
Die Standard-Bitrate ist 8 Mbps. Um die Bitrate zu ändern (z.B. zu 2 Mbps):
scrcpy --bit-rate 2M
scrcpy -b 2M # KurzversionDie Aufnahme-Bildwiederholrate kann begrenzt werden:
scrcpy --max-fps 15Dies wird offiziell seit Android 10 unterstützt, kann jedoch bereits auf früheren Versionen funktionieren.
Der Geräte-Bildschirm kann zugeschnitten werden, sodass nur ein Teil gespiegelt wird.
Dies ist beispielsweise nützlich, um nur ein Auge der Oculus Go zu spiegeln:
scrcpy --crop 1224:1440:0:0 # 1224x1440 am Versatz (0,0)Falls --max-size auch festgelegt ist, wird das Ändern der Größe nach dem Zuschneiden angewandt.
Um die Orientierung während dem Spiegeln festzustellen:
scrcpy --lock-video-orientation # ursprüngliche (momentane) Orientierung
scrcpy --lock-video-orientation=0 # normale Orientierung
scrcpy --lock-video-orientation=1 # 90° gegen den Uhrzeigersinn
scrcpy --lock-video-orientation=2 # 180°
scrcpy --lock-video-orientation=3 # 90° mit dem UhrzeigersinnDies beeinflusst die Aufnahmeausrichtung.
Das Fenster kann auch unabhängig rotiert werden.
Manche Geräte besitzen mehr als einen Encoder. Manche dieser Encoder können dabei sogar zu Problemen oder Abstürzen führen. Die Auswahl eines anderen Encoders ist möglich:
scrcpy --encoder OMX.qcom.video.encoder.avcUm eine Liste aller verfügbaren Encoder zu erhalten (eine Fehlermeldung gibt alle verfügbaren Encoder aus):
scrcpy --encoder _Es ist möglich, das Display während des Spiegelns aufzunehmen:
scrcpy --record file.mp4
scrcpy -r file.mkvUm das Spiegeln während des Aufnehmens zu deaktivieren:
scrcpy --no-display --record file.mp4
scrcpy -Nr file.mkv
# Unterbrechen der Aufnahme mit Strg+C"Übersprungene Bilder" werden aufgenommen, selbst wenn sie in Echtzeit (aufgrund von Performancegründen) nicht dargestellt werden. Die Einzelbilder sind mit Zeitstempeln des Gerätes versehen are, sodass eine Paketverzögerungsvariation nicht die Aufnahmedatei beeinträchtigt.
Auf Linux ist es möglich, den Video-Stream zu einem v4l2 loopback Gerät zu senden, sodass das Android-Gerät von jedem v4l2-fähigen Tool wie eine Webcam verwendet werden kann.
Das Modul v4l2loopback muss dazu installiert werden:
sudo apt install v4l2loopback-dkmsUm ein v4l2 Gerät zu erzeugen:
sudo modprobe v4l2loopbackDies erzeugt ein neues Video-Gerät in /dev/videoN, wobei N ein Integer ist (mehr Optionen sind verfügbar um mehrere Geräte oder Geräte mit spezifischen Nummern zu erzeugen).
Um die aktivierten Geräte aufzulisten:
# benötigt das v4l-utils package
v4l2-ctl --list-devices
# simpel, kann aber ausreichend
ls /dev/video*Um scrcpy mithilfe eines v4l2 sink zu starten:
scrcpy --v4l2-sink=/dev/videoN
scrcpy --v4l2-sink=/dev/videoN --no-display # Fenster mit Spiegelung ausschalten
scrcpy --v4l2-sink=/dev/videoN -N # kurze Version(N muss mit der Geräte-ID ersetzt werden, welche mit ls /dev/video* überprüft werden kann)
Einmal aktiv, kann der Stream mit einem v4l2-fähigen Tool verwendet werden:
ffplay -i /dev/videoN
vlc v4l2:///dev/videoN # VLC kann eine gewisse Bufferverzögerung herbeiführenBeispielsweise kann das Video mithilfe von OBS aufgenommen werden.
Es ist möglich, Buffering hinzuzufügen. Dies erhöht die Latenz, reduziert aber etwaigen Jitter (see #2464).
Diese Option ist sowohl für Video-Buffering:
scrcpy --display-buffer=50 # fügt 50ms Buffering zum Display hinzuals auch V4L2 sink verfügbar:
scrcpy --v4l2-buffer=500 # fügt 500ms Buffering für v4l2 sink hinzuScrcpy verwendet adb, um mit dem Gerät zu kommunizieren. adb kann sich per TCP/IP mit einem Gerät verbinden. Das Gerät muss dabei mit demselben Netzwerk wie der Computer verbunden sein.
Die Option --tcpip erlaubt es, die Verbindung automatisch zu konfigurieren. Dabei gibt es zwei Varianten.
Falls das Gerät (verfügbar unter 192.168.1.1 in diesem Beispiel) bereit an einem Port (typically 5555) nach einkommenden adb-Verbindungen hört, dann führe diesen Befehl aus:
scrcpy --tcpip=192.168.1.1 # Standard-Port ist 5555
scrcpy --tcpip=192.168.1.1:5555Falls adb TCP/IP auf dem Gerät deaktiviert ist (oder falls die IP-Adresse des Gerätes nicht bekannt ist): Gerät per USB verbinden, anschließend diesen Befehl ausführen:
scrcpy --tcpip # ohne weitere ArgumenteDies finden automatisch das Gerät und aktiviert den TCP/IP-Modus. Anschließend verbindet sich der Befehl mit dem Gerät bevor die Verbindung startet.
Alternativ kann die TCP/IP-Verbindung auch manuell per adb aktiviert werden:
-
Gerät mit demselben Wi-Fi wie den Computer verbinden.
-
IP-Adresse des Gerätes herausfinden, entweder über Einstellungen → Über das Telefon → Status, oder indem dieser Befehl ausgeführt wird:
adb shell ip route | awk '{print $9}'
-
Aktivieren von adb über TCP/IP auf dem Gerät:
adb tcpip 5555. -
Ausstecken des Geräts.
-
Verbinden zum Gerät:
adb connect DEVICE_IP:5555(DEVICE_IPersetzen). -
scrcpywie normal ausführen.
Es kann sinnvoll sein, die Bit-Rate sowie dei Auflösung zu reduzieren:
scrcpy --bit-rate 2M --max-size 800
scrcpy -b2M -m800 # kurze VersionFalls mehrere Geräte unter adb devices aufgelistet werden, muss die Seriennummer angegeben werden:
scrcpy --serial 0123456789abcdef
scrcpy -s 0123456789abcdef # kurze VersionFalls das Gerät über TCP/IP verbunden ist:
scrcpy --serial 192.168.0.1:5555
scrcpy -s 192.168.0.1:5555 # kurze VersionEs können mehrere Instanzen von scrcpy für mehrere Geräte gestartet werden.
Hierfür kann AutoAdb verwendet werden:
autoadb scrcpy -s '{}'Um sich zu einem entfernten Gerät zu verbinden, kann der adb Client mit einem remote-adb-Server verbunden werden (Voraussetzung: Gleiche Version des adb-Protokolls).
Um sich zu einem Remote-adb-Server zu verbinden: Der Server muss auf allen Ports hören
adb kill-server
adb -a nodaemon server start
# Diesen Dialog offen haltenWarnung: Die gesamte Kommunikation zwischen adb und den Geräten ist unverschlüsselt.
Angenommen, der Server ist unter 192.168.1.2 verfügbar. Dann kann von einer anderen Kommandozeile scrcpy aufgeführt werden:
export ADB_SERVER_SOCKET=tcp:192.168.1.2:5037
scrcpy --tunnel-host=192.168.1.2Standardmäßig verwendet scrcpy den lokalen Port für die Einrichtung des adb forward-Tunnels (typischerweise 27183, siehe --port).
Es ist zudem möglich, einen anderen Tunnel-Port zuzuweisen (sinnvoll in Situationen, bei welchen viele Weiterleitungen erfolgen):
scrcpy --tunnel-port=1234
Um mit einem Remote-adb-Server sicher zu kommunizieren, wird ein SSH-Tunnel empfohlen.
Sicherstellen, dass der Remote-adb-Server läuft:
adb start-serverErzeugung eines SSH-Tunnels:
# local 5038 --> remote 5037
# local 27183 <-- remote 27183
ssh -CN -L5038:localhost:5037 -R27183:localhost:27183 your_remote_computer
# Diesen Dialog geöffnet haltenVon einer anderen Kommandozeile aus scrcpy ausführen:
export ADB_SERVER_SOCKET=tcp:localhost:5038
scrcpyUm das Aktivieren von Remote-Weiterleitung zu verhindern, kann eine Vorwärts-Verbindung verwendet werden (-L anstatt von -R):
# local 5038 --> remote 5037
# local 27183 --> remote 27183
ssh -CN -L5038:localhost:5037 -L27183:localhost:27183 your_remote_computer
# Diesen Dialog geöffnet haltenVon einer anderen Kommandozeile aus scrcpy ausführen:
export ADB_SERVER_SOCKET=tcp:localhost:5038
scrcpy --force-adb-forwardWie für kabellose Verbindungen kann es sinnvoll sein, die Qualität zu reduzieren:
scrcpy -b2M -m800 --max-fps 15
Standardmäßig ist der Fenstertitel das Gerätemodell. Der Titel kann jedoch geändert werden:
scrcpy --window-title 'Mein Gerät'Die anfängliche Fensterposition und Größe können festgelegt werden:
scrcpy --window-x 100 --window-y 100 --window-width 800 --window-height 600Um den Rahmen des Fensters zu deaktivieren:
scrcpy --window-borderlessUm das Fenster immer im Vordergrund zu halten:
scrcpy --always-on-topDie Anwendung kann direkt im Vollbildmodus gestartet werden:
scrcpy --fullscreen
scrcpy -f # kurze VersionDas Vollbild kann dynamisch mit MOD+f gewechselt werden.
Das Fenster kann rotiert werden:
scrcpy --rotation 1Mögliche Werte sind:
-
0: keine Rotation -
1: 90 grad gegen den Uhrzeigersinn -
2: 180 grad -
3: 90 grad mit dem Uhrzeigersinn
die Rotation kann zudem dynamisch mit MOD+← (links) and MOD+→ (rechts) angepasst werden.
scrcpy schafft 3 verschiedene Rotationen:
- MOD+r erfordert von Gerät den Wechsel zwischen Hochformat und Querformat (die momentane App kann dies verweigern, wenn die geforderte Ausrichtung nicht unterstützt wird).
-
--lock-video-orientationändert die Ausrichtung der Spiegelung (die Ausrichtung des an den Computer gesendeten Videos). Dies beeinflusst eventuelle Aufnahmen. -
--rotation(or MOD+←/MOD+→) rotiert nur das Fenster, eventuelle Aufnahmen sind hiervon nicht beeinflusst.
Um die Steuerung (alles, was mit dem Gerät interagieren kann: Tasten, Mausklicks, Drag-and-drop von Dateien) zu deaktivieren:
scrcpy --no-control
scrcpy -nFalls mehrere Displays vorhanden sind, kann das zu spiegelnde Display gewählt werden:
scrcpy --display 1Die Liste an verfügbaren Displays kann mit diesem Befehl ausgegeben werden:
adb shell dumpsys display # Nach "mDisplayId=" in der Ausgabe suchenDas zweite Display kann nur gesteuert werden, wenn das Gerät Android 10 oder höher besitzt. Ansonsten wird das Display nur mit Lesezugriff gespiegelt.
Um zu verhindern, dass das Gerät nach einer Weile in den Ruhezustand übergeht (solange es eingesteckt ist):
scrcpy --stay-awake
scrcpy -wDer ursprüngliche Zustand wird beim Schließen von scrcpy wiederhergestellt.
Es ist möglich, beim Starten des Spiegelns mithilfe eines Kommandozeilenarguments den Bildschirm des Gerätes auszuschalten:
scrcpy --turn-screen-off
scrcpy -SOder durch das Drücken von MOD+o jederzeit.
Um das Display wieder einzuschalten muss MOD+Shift+o gedrückt werden.
Auf Android aktiviert der POWER Knopf das Display immer.
Für den Komfort wird, wenn POWER via scrcpy gesendet wird (über Rechtsklick oder MOD+p), wird versucht, das Display nach einer kurzen Zeit wieder auszuschalten (falls es möglich ist).
Der physische POWER Button aktiviert das Display jedoch immer.
Dies kann zudem nützlich sein, um das Gerät vom Ruhezustand abzuhalten:
scrcpy --turn-screen-off --stay-awake
scrcpy -SwUm den Gerätebildschirm abzuschalten, wenn scrcpy geschlossen wird:
scrcpy --power-off-on-closeFür Präsentationen kann es sinnvoll sein, die physischen Berührungen anzuzeigen (auf dem physischen Gerät).
Android stellt dieses Feature in den Entwickleroptionen zur Verfügung.
Scrcpy stellt die Option zur Verfügung, dies beim Start zu aktivieren und beim Schließen auf den Ursprungszustand zurückzusetzen:
scrcpy --show-touches
scrcpy -tAnmerkung: Nur physische Berührungen werden angezeigt (mit dem Finger auf dem Gerät).
Standardmäßig unterbindet scrcpy nicht den Bildschirmschoner des Computers.
Um den Bildschirmschoner zu unterbinden:
scrcpy --disable-screensaverMOD+r drücken, um zwischen Hoch- und Querformat zu wechseln.
Anmerkung: Dis funktioniert nur, wenn die momentan geöffnete App beide Rotationen unterstützt.
Immer, wenn sich die Zwischenablage von Android ändert wird dies mit dem Computer synchronisiert.
Jedes Strg wird an das Gerät weitergegeben. Insbesonders:
- Strg+c kopiert typischerweise
- Strg+x schneidet typischerweise aus
- Strg+v fügt typischerweise ein (nach der Computer-zu-Gerät-Synchronisation)
Dies funktioniert typischerweise wie erwartet.
Die wirkliche Funktionsweise hängt jedoch von der jeweiligen Anwendung ab. Beispielhaft sendet Termux SIGINT bei Strg+c, und K-9 Mail erzeugt eine neue Nachricht.
Um kopieren, ausschneiden und einfügen in diesen Fällen zu verwenden (nur bei Android >= 7 unterstützt):
-
MOD+c gibt
COPYein -
MOD+x gibt
CUTein -
MOD+v gibt
PASTEein (nach der Computer-zu-Gerät-Synchronisation)
Zusätzlich erlaubt es MOD+Shift+v den momentanen Inhalt der Zwischenablage als eine Serie von Tastenevents einzugeben. Dies ist nützlich, fall die Applikation kein Einfügen unterstützt (z.B. Termux). Jedoch kann nicht-ASCII-Inhalt dabei zerstört werden.
WARNUNG: Das Einfügen der Computer-Zwischenablage in das Gerät (entweder mit Strg+v oder MOD+v) kopiert den Inhalt in die Zwischenablage des Gerätes. Als Konsequenz kann somit jede Android-Applikation diesen Inhalt lesen. Das Einfügen von sensiblen Informationen wie Passwörtern sollte aus diesem Grund vermieden werden.
Mache Geräte verhalten sich nicht wie erwartet, wenn die Zwischenablage per Programm verändert wird.
Die Option --legacy-paste wird bereitgestellt, welche das Verhalten von Strg+v und MOD+v so ändert, dass die Zwischenablage wie bei MOD+Shift+v als eine Serie von Tastenevents ausgeführt wird.
Um die automatische Synchronisierung der Zwischenablage zu deaktivieren:
--no-clipboard-autosync.
Um "Ziehen-zum-Zoomen" zu simulieren: Strg+klicken-und-bewegen.
Genauer: Strg halten, während Linksklick gehalten wird. Solange Linksklick gehalten wird, skalieren und rotieren die Mausbewegungen den Inhalt (soweit von der jeweiligen App unterstützt).
Konkret erzeugt scrcpy einen am Mittelpunkt des Displays gespiegelten, "virtuellen" Finger.
Standardmäßig verwendet scrcpy Android-Tasten oder Textinjektion. Dies funktioniert zwar immer, jedoch nur mit ASCII.
Auf Linux kann scrcpy mithilfe von HID eine physische Tastatur simulieren, um eine bessere Eingabeerfahrung zu gewährleisten (dies nutzt USB HID over AOAv2): Die virtuelle Tastatur wird deaktiviert, es funktioniert für alle Zeichen und mit IME.
Dies funktioniert jedoch nur, wenn das Gerät über USB verbunden ist. Zudem wird dies momentan nur unter Linux unterstützt.
Um diesen Modus zu aktivieren:
scrcpy --hid-keyboard
scrcpy -K # kurze VersionFalls dies auf gewissen Gründen fehlschlägt (z.B. Gerät ist nicht über USB verbunden), so fällt scrcpy auf den Standardmodus zurück (mit einer Ausgabe in der Konsole). Dies erlaubt es, dieselben Kommandozeilenargumente zu verwenden, egal ob das Gerät per USB oder TCP/IP verbunden ist.
In diesem Modus werden rohe Tastenevents (scancodes) an das Gerät gesendet. Aus diesem Grund muss ein nicht passenden Tastaturformat in den Einstellungen des Android-Gerätes unter Einstellungen → System → Sprache und Eingabe → Physical keyboard konfiguriert werden.
Diese Einstellungsseite kann direkt mit diesem Befehl geöffnet werden:
adb shell am start -a android.settings.HARD_KEYBOARD_SETTINGSDiese Option ist jedoch nur verfügbar, wenn eine HID-Tastatur oder eine physische Tastatur verbunden sind.
Ähnlich zu einer Tastatur kann auch eine Maus mithilfe von HID simuliert werden. Wie zuvor funktioniert dies jedoch nur, wenn das Gerät über USB verbunden ist. Zudem wird dies momentan nur unter Linux unterstützt.
Standardmäßig verwendet scrcpy Android Maus Injektionen mit absoluten Koordinaten. Durch die Simulation einer physischen Maus erscheint auf dem Display des Geräts ein Mauszeiger, zu welchem die Bewegungen, Klicks und Scrollbewegungen relativ eingegeben werden.
Um diesen Modus zu aktivieren:
scrcpy --hid-mouse
scrcpy -M # kurze VersionEs kann zudem--forward-all-clicks übergeben werden, um alle Mausklicks an das Gerät weiterzugeben.
Wenn dieser Modus aktiv ist, ist der Mauszeiger des Computers auf dem Fenster gefangen (Zeiger verschwindet von Computer und erscheint auf dem Android-Gerät).
Spezielle Tasteneingaben wie Alt oder Super ändern den Zustand des Mauszeigers (geben diesen wieder frei/fangen ihn wieder ein). Eine dieser Tasten kann verwendet werden, um die Kontrolle der Maus wieder zurück an den Computer zu geben.
Es ist möglich, scrcpy so auszuführen, dass nur Maus und Tastatur, wie wenn diese direkt über ein OTG-Kabel verbunden wären, simuliert werden.
In diesem Modus ist adb nicht nötig, ebenso ist das Spiegeln der Anzeige deaktiviert.
Um den OTG-Modus zu aktivieren:
scrcpy --otg
# Seriennummer übergeben, falls mehrere Geräte vorhanden sind
scrcpy --otg -s 0123456789abcdefEs ist möglich, nur HID-Tastatur oder HID-Maus zu aktivieren:
scrcpy --otg --hid-keyboard # nur Tastatur
scrcpy --otg --hid-mouse # nur Maus
scrcpy --otg --hid-keyboard --hid-mouse # Tastatur und Maus
# Der Einfachheit halber sind standardmäßig beide aktiv
scrcpy --otg # Tastatur und MausWie --hid-keyboard und --hid-mouse funktioniert dies nur, wenn das Gerät per USB verbunden ist.
Zudem wird dies momentan nur unter Linux unterstützt.
Beim Tippen von Text werden zwei verschiedene Events generiert:
- key events, welche signalisieren, ob eine Taste gedrückt oder losgelassen wurde;
- text events, welche signalisieren, dass Text eingegeben wurde.
Standardmäßig werden key events verwendet, da sich bei diesen die Tastatur in Spielen wie erwartet verhält (typischerweise für WASD).
Dies kann jedoch Probleme verursachen. Trifft man auf ein solches Problem, so kann dies mit diesem Befehl umgangen werden:
scrcpy --prefer-textDies kann jedoch das Tastaturverhalten in Spielen beeinträchtigen/zerstören.
Auf der anderen Seite kann jedoch auch die Nutzung von key events erzwungen werden:
scrcpy --raw-key-eventsDiese Optionen haben jedoch keinen Einfluss auf eine etwaige HID-Tastatur, da in diesem modus alle key events als scancodes gesendet werden.
Standardmäßig löst das gedrückt halten einer Taste das jeweilige Event mehrfach aus. Dies kann jedoch zu Performanceproblemen in manchen Spielen führen.
Um das Weitergeben von sich wiederholenden Tasteneingaben zu verhindern:
scrcpy --no-key-repeatThis option has no effect on HID keyboard (key repeat is handled by Android directly in this mode).
Standardmäßig löst Rechtsklick BACK (wenn Bildschirm aus: POWER) und Mittelklick BACK aus. Um diese Kürzel abzuschalten und stattdessen die Eingaben direkt an das Gerät weiterzugeben:
scrcpy --forward-all-clicksUm eine APK zu installieren, kann diese per Drag-and-drop auf das scrcpy-Fenster gezogen werden.
Dabei erfolgt kein visuelles Feedback, ein Log wird in die Konsole ausgegeben.
Um eine Datei nach /sdcard/Download/ auf dem Gerät zu schieben, Drag-and-drop die (nicht-APK)-Datei auf das scrcpy-Fenster.
Dabei erfolgt kein visuelles Feedback, ein Log wird in die Konsole ausgegeben.
Das Zielverzeichnis kann beim Start geändert werden:
scrcpy --push-target=/sdcard/Movies/Audio wird von scrcpy nicht übertragen. Hierfür kann sndcpy verwendet werden.
Siehe zudem issue #14.
In der folgenden Liste ist MOD der Kürzel-Auslöser. Standardmäßig ist dies (links) Alt oder (links) Super.
Dies kann mithilfe von --shortcut-mod geändert werden. Mögliche Tasten sind lstrg, rstrg,
lalt, ralt, lsuper und rsuper. Beispielhaft:
# Nutze rStrg als Auslöser
scrcpy --shortcut-mod=rctrl
# Nutze entweder LStrg+LAlt oder LSuper für Tastenkürzel
scrcpy --shortcut-mod=lctrl+lalt,lsuperSuper ist typischerweise die Windows oder Cmd Taste.
| Aktion | Tastenkürzel | |
|---|---|---|
| Vollbild wechseln | MOD+f | |
| Display nach links rotieren | MOD+← (links) | |
| Display nach links rotieren | MOD+→ (rechts) | |
| Fenstergröße 1:1 replizieren (pixel-perfect) | MOD+g | |
| Fenstergröße zum entfernen der schwarzen Balken ändern | MOD+w | Doppel-Linksklick¹ |
Klick auf HOME
|
MOD+h | Mittelklick |
Klick auf BACK
|
MOD+b | Rechtsklick² |
Klick auf APP_SWITCH
|
MOD+s | 4.-Taste-Klick³ |
Klick auf MENU (Bildschirm entsperren)⁴ |
MOD+m | |
Klick auf VOLUME_UP
|
MOD+↑ (hoch) | |
CKlick auf VOLUME_DOWN
|
MOD+↓ (runter) | |
Klick auf POWER
|
MOD+p | |
| Power an | Rechtsklick² | |
| Gerätebildschirm ausschalten (weiterhin spiegeln) | MOD+o | |
| Gerätebildschirm einschalten | MOD+Shift+o | |
| Gerätebildschirm drehen | MOD+r | |
| Benachrichtigungs-Bereich anzeigen | MOD+n | 5.-Taste-Klick³ |
| Erweitertes Einstellungs-Menü anzeigen | MOD+n+n | Doppel-5.-Taste-Klick³ |
| Bedienfelder einklappen | MOD+Shift+n | |
| In die Zwischenablage kopieren⁵ | MOD+c | |
| In die Zwischenablage kopieren⁵ | MOD+x | |
| Zwischenablage synchronisieren und einfügen⁵ | MOD+v | |
| Computer-Zwischenablage einfügen (per Tastenevents) | MOD+Shift+v | |
| FPS-Zähler aktivieren/deaktivieren (ing stdout) | MOD+i | |
| Ziehen zum Zoomen | Strg+Klicken-und-Bewegen | |
| Drag-and-drop mit APK-Datei | APK von Computer installieren | |
| Drag-and-drop mit Nicht-APK Datei | Datei auf das Gerät schieben |
¹Doppelklick auf die schwarzen Balken, um diese zu entfernen.
²Rechtsklick aktiviert den Bildschirm, falls dieser aus war, ansonsten ZURÜCK.
³4. und 5. Maustasten, wenn diese an der jeweiligen Maus vorhanden sind.
⁴Für react-native Applikationen in Entwicklung, MENU öffnet das Entwickler-Menü.
⁵Nur für Android >= 7.
Abkürzungen mit mehreren Tastenanschlägen werden durch das Loslassen und erneute Drücken der Taste erreicht. Beispielhaft, um "Erweitere das Einstellungs-Menü" auszuführen:
- Drücke und halte MOD.
- Doppelklicke n.
- Lasse MOD los.
Alle Strg+Taste Tastenkürzel werden an das Gerät übergeben, sodass sie von der jeweiligen Applikation ausgeführt werden können.
Um eine spezifische adb Binary zu verwenden, muss deren Pfad als Umgebungsvariable ADB deklariert werden:
ADB=/path/to/adb scrcpyUm den Pfad der scrcpy-server Datei zu bearbeiten, muss deren Pfad in SCRCPY_SERVER_PATH bearbeitet werden.
Um das Icon von scrcpy zu ändern, muss SCRCPY_ICON_PATH geändert werden.
Ein Kollege hat mich dazu herausgefordert, einen Namen so unaussprechbar wie gnirehtet zu finden.
strcpy kopiert einen string; scrcpy kopiert einen screen.
Siehe BUILD.
Siehe FAQ.
Copyright (C) 2018 Genymobile
Copyright (C) 2018-2022 Romain Vimont
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.