mrkeyoor.com_
Sun 20 Sept 03:40 UTC
Dev Toolsevaluationupdated 20 Sept 2026

QtScrcpy review

QtScrcpy is a C++ desktop app that mirrors and controls Android devices over USB or a local network. Its main README is in English, with a Chinese version linked at the top. It adds a graphical interface, custom key maps, recording, file transfer, and group control to the scrcpy approach.

Verdict

Our QtScrcpy run installed 38 packages in 15 seconds and built its macOS packaging helper in 2, but it did not expose a test target or exercise the C++ app. The packaged release is worth trying if you want visual key mapping or group control and can test it on your exact phone and OS. Start with upstream scrcpy when you value current Android behavior and command-line control more than QtScrcpy's GUI.

We ran it

Lab card: what happened when we ran QtScrcpyScreenshot of QtScrcpy (blog.csdn.net/rankun1/article/details/87970523)
Install✓ · 15s38 packages · 37 MB
Build✓ · 2s
Testsn/ano test script
Known vulns0(pip-audit)
Repo143 files~10,449 lines of source · 38.8 MB · 3 CI workflows

Answers from our run

Does QtScrcpy build from source?

Dependencies installed in 15 seconds (38 packages), and the build succeeded in 2 seconds. We cloned commit 854de5e into a clean Debian container with 3 CPUs and no project-specific setup.

Does QtScrcpy have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does QtScrcpy have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use QtScrcpy?

People who cannot enable ADB debugging: the README requires it for normal use, and wireless setup begins with a USB connection.

What are the alternatives to QtScrcpy?

scrcpy, Escrcpy. Our QtScrcpy run installed 38 packages in 15 seconds and built its macOS packaging helper in 2, but it did not expose a test target or exercise the C++ app.

Setup3/5Prebuilt apps help; ADB, wireless steps, and macOS policy add work
Docs3/5English and Chinese guides cover use, but caveats are scattered
Community3/532,019 stars and a current release, alongside 622 open issues
Maturity4/5Cross-platform v4.2.0 release with a long device history

Who it’s for

Android developers who want a graphical device mirror with mouse, keyboard, screenshots, and recording.
Mobile gamers who will write or adapt QtScrcpy key-map files for desktop controls.
Test benches that need several Android screens open and controlled from one computer.
Windows, macOS, or Linux users who prefer a packaged GUI over scrcpy's command line.

Who it’s NOT for

People who cannot enable ADB debugging: the README requires it for normal use, and wireless setup begins with a USB connection.
Teams that need dependable non-ASCII desktop typing: the README says pasted non-ASCII text does not work, and issue 1264 asks for proper multilingual text injection.
Managed macOS fleets that reject ad-hoc-signed applications: v4.2.0 uses ad-hoc signing and ships quarantine-removal guidance.
Anyone expecting the source build to be a small desktop-only job: it needs Qt, recursive submodules, platform build tooling, and a separate Android Studio path for the server.
Users who want an active answer for every device problem: GitHub search returned 622 open issues, including reports about black screens, white screens, audio, and reconnection.

Setup reality

Our sandbox entered ./ci/mac/package/ at commit 854de5e and installed in 15 seconds: 38 packages and 37 MB on disk. That packaging helper built in 2 seconds. The harness found no test script or target, so tests were skipped; pip-audit found 0 known vulnerabilities. This did not build or launch the C++ desktop app.

Normal use needs Android 5.0 or newer, ADB debugging, and a USB or local-network connection. No hosted account or API secret is required. The first wireless setup still starts over USB so QtScrcpy can discover the device and start adbd.

Prebuilt packages exist for Windows, macOS, and Linux. A source build needs recursive submodules and Qt newer than 5.12; rebuilding the Android server also needs Android Studio. Version 4.2.0 ad-hoc signs macOS bundles and documents quarantine removal, which may conflict with managed-device policy.

QtScrcpy adds a desktop GUI and custom controls to scrcpy

QtScrcpy displays an Android screen and sends mouse or keyboard input back to the device. It works over USB or the local network without root access, and the normal run does not leave an app installed on the phone. The desktop window also handles screenshots, recording, file transfer, APK installation, clipboard exchange, and multiple connected devices. Its English README links to a separate Chinese version.

Custom mapping is the reason to choose it over a plain mirror. A text file can turn desktop keys and mouse movements into touches, swipes, or a virtual joystick, and bundled maps cover several games. Group control can send input to several phones at once. Those features suit a game setup or a small device bench, provided you are willing to maintain mappings when a game layout or phone resolution changes.

Packaged downloads avoid the full Qt and Android build chain

The project publishes Windows archives, macOS disk images, and a Linux AppImage. AUR is another Linux route, though the README warns that package may be outdated. For most users, a release archive is the sensible path. The source instructions themselves recommend using a Linux CI artifact when possible instead of compiling the application.

Building everything is a larger job than the 143-file checkout might suggest. The desktop app needs Qt newer than 5.12, CMake or qmake, platform compilers, and recursively cloned submodules. The server has a separate Android Studio and Gradle path. On Windows, the documented compiler is MSVC 2019. On Arch Linux, the README names the Qt 5 multimedia and X11 packages needed by the build.

What happened when we ran it

Our sandbox entered ./ci/mac/package/ at commit 854de5e, because that was the measured Python project in this repository. Installation succeeded in 15 seconds, bringing in 38 packages and occupying 37 MB. Its build step succeeded in 2 seconds. The container was fresh Debian with 3 CPUs and 8 GB of RAM, running without privileges or secrets.

That green result belongs to the macOS packaging helper. It does not prove that the C++ GUI compiled, that a window opened, or that ADB controlled an Android phone. The harness found no test script or target, so tests were skipped. Pip-audit reported 0 known vulnerabilities in the measured Python packages. The repository contained 143 files, roughly 10,449 source lines, and no tests directory or Dockerfile.

Wireless control still begins with USB and ADB debugging

QtScrcpy requires Android 5.0 or newer and asks users to enable ADB debugging. The normal USB path is direct: connect a phone, refresh the device list, and start the service. Wireless setup has 8 documented steps and initially uses USB to fetch the device address and start adbd; the cable can be removed after the network device appears.

This matters in locked corporate or school environments. ADB access is a security decision, and the app can install APKs or transfer files once connected. Treat a QtScrcpy workstation like any other machine authorized for Android debugging. Use a trusted local network for wireless control, and remove stale ADB authorizations when the workstation or device changes hands.

Text input and audio have device-dependent limits

Clipboard support works in both directions, but the README says pasting non-ASCII characters as text events does not yet work. Issue 1264 describes failed Spanish accented characters and other input-method text, then asks for a text-injection mode. That gap is easy to miss if your test phrase is plain English, and it can disqualify QtScrcpy for multilingual chat or support work.

Speaker audio sync is documented for Android 10 and newer through sndcpy, while an open July 2026 issue asks why a recording has no sound. The issue contains no diagnostic details, so it proves only that one user reported the symptom. A separate report against version 3.3.3 describes a Pixel 8a on Android 16 reaching the server but showing no usable window. Neither report establishes the behavior of v4.2.0.

Version 4.2.0 is current, while 622 issues remain open

Version 4.2.0 was released on September 19, 2026, the same date as the repository's latest push. It introduced a new interface, encoder presets, MediaTek tuning, an advanced configuration page, and configuration storage outside application bundles. The macOS packages received ad-hoc signing plus a guide for quarantine removal. Those are concrete maintenance signs, not proof that every reported device combination now works.

GitHub search returned 622 open issues, and the repository had 32,019 stars when fetched. Many recent issue titles are in Chinese even though an English README is maintained. The queue includes current reports about wireless reconnection and macOS installation, alongside much older game maps and hardware questions. Expect community knowledge to be useful, but do not assume a maintainer response will arrive before your device deadline.

Upstream scrcpy is the safer default for command-line users

Genymobile's scrcpy is the upstream project and remains the cleaner first choice when a command line is acceptable. Its current documentation covers audio forwarding, virtual displays, camera mirroring, and physical keyboard or mouse simulation. viarotel-org/escrcpy is the closer GUI alternative, with visual mappings and multi-device management, though its README says some advanced features live in a paid private extension.

QtScrcpy wins when its Qt interface, custom game mappings, or group-control view saves more time than the extra compatibility surface costs. Our 2-second helper build cannot answer that for your phone. Download the v4.2.0 package, try USB control before wireless, type the languages you actually use, and record a clip with sound before committing a device bench to it.

Alternatives

ProjectWhat it isPick it when
scrcpyThe upstream command-line Android mirror and control tool that QtScrcpy builds on.pick this instead when you want the upstream release, extensive command options, and no separate Qt interface.
Escrcpy gh↗A graphical scrcpy client with visual key mapping and multi-device controls.pick this instead when you prefer an Electron-style interface and accept that some advanced extensions are paid and private.

What people are saying

  1. [velocity-scout] barry-ran/QtScrcpy

Sources

  1. QtScrcpy repository and English README
  2. QtScrcpy v4.2.0 release notes
  3. Issue 1264: multilingual text injection request
  4. Issue 1272: Pixel 8a display report
  5. Issue 1296: Apple Silicon installation report

More dev tools reviews

gcx · mold · blockbench · python-patterns · opcode · mdBook · the whole board →