Skip to content

AndroidDC 1.0.0

Choose a tag to compare

@mPhpMaster mPhpMaster released this 13 Sep 23:10

One window on Windows that drives Android devices over plain adb - mirroring, internet sharing in both directions, files, apps, contacts and messages, radios and users. Nothing is installed on the phone.

Getting started

  1. Turn on USB debugging on the phone and plug it in.
  2. Download this release (Source code, zip) and unpack it.
  3. Run get-upstream.ps1 once: it fetches scrcpy and gnirehtet from their official releases and checks them against SHA256.
  4. Double-click androiddc.vbs.

Windows 10 or 11 with Windows PowerShell 5.1 - nothing else to install. The full guide is in docs/.

What is in it

Fourteen tabs: Device, Tethering, Advanced (every scrcpy option, adb tools, root / recovery), Apps, Contacts, SMS, Cam / Mic, Files, Running, Wi-Fi, Bluetooth, NFC, Users and Shell (live shell and logcat). Every list has its actions on the right mouse button, and every page fits the smallest window.

Fixed before release

A review of the whole code, each fix checked on a phone:

  • Text you type reaches the phone whole. adb and the phone's shell split arguments at spaces, and Windows PowerShell drops " inside them: an SMS body kept its first word, a Wi-Fi name or password with a space failed, and a name with an apostrophe broke the command. Such text now travels as one quoted argument, encoded in base64.
  • Turn Wi-Fi off while sharing no longer turns Wi-Fi on at the end on a phone where it was off.
  • get-upstream.ps1 -CacheFolder deletes only the archives it used, not every .zip in that folder.
  • Apps are labelled user / system and enabled / disabled by whole package name, not by prefix.
  • Search and Recent files hits: Move to PC, Rename and Compress work on them.
  • Filter boxes take [ ] and * literally; Wi-Fi networks are sorted by signal as a number; each saved network is listed once, including on Android 15 and when two names differ only in case.
  • A new contact's details go to the row just created; logcat no longer silences the live shell.
  • When a phone refuses to install the sharing client over USB (INSTALL_FAILED_USER_RESTRICTED, seen on Xiaomi), the log says which setting allows it.
  • Sharing can be started again right after it was stopped; before, the second start failed because the stopped relay's log files were still held open.

Verified

  • Android 15: a contact and a user whose names hold ' " & $ added, edited and removed through the window; an SMS with such a body composed in the phone's own app, read back from its screen, and not sent; a Wi-Fi network with such a name and password joined and forgotten; the saved-network list against the phone's own; Wi-Fi around sharing, on before and off before; a real scan in order.
  • Android 13: every such text sent to the phone as one argument and checked there, including the text Send text types; the whole test suite.
  • Not checked through a phone's screen: Send text typing into an app.

CI checks every commit, and tests\ holds eleven tests anyone can run.

See CHANGELOG.md.