How to Use the Command 'scrcpy' (with Examples)
Scrcpy is an immensely useful tool that allows users to display and control their Android device on their desktop. This open-source application is highly versatile and efficient, offering various functionalities that facilitate a smoother interaction between your Android device and your computer. With scrcpy, you can mirror your Android phone’s screen, interact with applications, capture actions performed on the device, and a host of other features, all from the comfort of your desktop environment.
Use Case 1: Display a Mirror of a Connected Device
Code:
scrcpy
Motivation:
One of the primary motivations for using this command is the convenience of viewing and controlling your Android device directly from your desktop screen. Whether it’s responding to notifications more efficiently or utilizing your keyboard for input instead of typing on a phone, this command is an entry point into a more integrated user experience.
Explanation:
Simply typing scrcpy
with no additional parameters triggers the application to mirror the currently connected Android device via USB. This default function detects the connected device without the need for specifying any additional attributes or parameters, making it straightforward and convenient for users who need quick access.
Example Output:
Upon executing the command, a window opens displaying your Android device’s screen, fully interactive, allowing for operations like app navigation, screenshot capture, and text input using your computer’s hardware.
Use Case 2: Display a Mirror of a Specific Device Based on Its ID or IP Address
Code:
scrcpy --serial 0123456789abcdef|192.168.0.1:5555
Motivation:
This use case is critical in environments where multiple devices are connected to the same network or computer. Developers, for instance, might be testing applications across various devices. Being able to specify a device by its ID or IP address allows precise control and operation on the intended hardware.
Explanation:
The --serial
argument followed by a device ID or IP address differentiates the target device from other possibly connected devices. It specifies which device the user intends to mirror, either by using the device’s unique identifier or by an IP address if connected wirelessly through ADB (Android Debug Bridge).
Example Output:
The execution results in mirroring the selected device’s screen, matching the specified ID or IP address, ensuring you’re interacting with the correct device among multiple connections.
Use Case 3: Start Display in Fullscreen Mode
Code:
scrcpy --fullscreen
Motivation:
Fullscreen mode enhances user immersion and is especially beneficial for activities such as gaming, media consumption, or giving presentations. By maximizing the screen size, users get a clearer and more expansive view of their Android device.
Explanation:
The --fullscreen
parameter initiates scrcpy in fullscreen mode, utilizing your entire monitor for the display. It optimizes the viewing experience by eliminating window borders and distractions.
Example Output:
Launching with this command makes the mirrored device screen stretch to fit, covering the entire display of your monitor, providing a seamless visual interface as if directly on your phone’s display with no obstructions.
Use Case 4: Rotate the Display Screen
Code:
scrcpy --rotation 0|1|2|3
Motivation:
Rotating the display is advantageous when the physical orientation of the device differs from the usual portrait view or when using applications and games best suited for landscape orientation. It can also assist in testing apps’ responsiveness to orientation changes.
Explanation:
The --rotation
parameter controls the orientation of the mirrored screen. The numbers correspond to counterclockwise rotations: 0
for no rotation, 1
for 90 degrees, 2
for 180 degrees, and 3
for 270 degrees. This allows the user to dynamically adjust how the device’s screen is presented on their desktop.
Example Output:
Implementing this command adjusts the display, pivoting the screen’s orientation according to the specified degree, providing an accurate representation of the device’s actual orientation.
Use Case 5: Show Touches on Physical Device
Code:
scrcpy --show-touches
Motivation:
Displaying touch interactions can be beneficial for demonstration purposes, app development, and user testing. It provides visual feedback on the mirrored display as you interact with the device, making it easier to track actions.
Explanation:
The --show-touches
parameter enables touch indicators on the device’s screen when mirrored, showing visual cues like circles or dots where inputs such as taps and swipes occur, akin to enabling developer options on the device itself.
Example Output:
Each touch interaction from a tap to a swipe appears as a visual circle or dot on the mirrored screen, reflecting user inputs and aiding in monitoring touch-based interactions effectively.
Use Case 6: Record Display Screen
Code:
scrcpy --record path/to/file.mp4
Motivation:
Recording the mirrored display lends itself well to educational uses, creating tutorials, documenting app walkthroughs, or capturing gaming sessions. It provides a visual record of all screen activities on the Android device to be reviewed or shared.
Explanation:
The --record
argument saves the mirrored output as a video file. By specifying path/to/file.mp4
, users designate the output location and file name for the recording, effectively capturing all on-screen actions during the session for future playback.
Example Output:
After executing the command with the recording option, the designated output file contains a video capturing all interactions and display actions, available for review or distribution as needed.
Use Case 7: Specify the Target Directory for Pushing Files to Device
Code:
scrcpy --push-target path/to/directory
Motivation:
This function is useful for file management, enabling the user to push files directly from the desktop onto the Android device. It brings convenience to transferring documents, images, and other non-APK files, especially during development phases.
Explanation:
With the --push-target
argument, you define the directory on the Android device where files will be dropped when dragged from your computer. This specified path/to/directory
ensures that files are moved to the exact location intended, streamlining workflow.
Example Output:
Dragging and dropping a file from your desktop to the device results in the file appearing in the specified directory on the Android device, simplifying file transfer and organization tasks.
Conclusion:
The scrcpy command is a versatile tool that extends the capabilities of your Android device, allowing for various functionalities from screen mirroring to file management and video recording. Each use case leverages different parameters to customize interactions further, providing robust control over your device from your desktop environment. Whether for personal use or professional app development, scrcpy offers a range of functionalities to enhance productivity and ease of use.