mrkeyoor.com_
Sat 12 Sept 15:49 UTC
Dev Toolsevaluationupdated 12 Sept 2026

AndroidMic review

AndroidMic turns an Android phone into a microphone source for a Windows, Linux, or macOS computer. A phone app sends microphone audio over WiFi or USB to a desktop receiver, which plays it into a separate virtual audio device that calling, recording, and streaming software can select.

Verdict

Our AndroidMic build failed after 338 seconds, and its 47-second test command failed at the same missing PipeWire system library after Cargo installed 750 packages. Use the packaged 2.2.9 apps when you need an inexpensive spare microphone and can tolerate virtual-device setup. Source builders should copy the Linux CI dependency list, and delay-sensitive PipeWire or filter users should test their exact route before relying on it for a call or recording.

We ran it

Lab card: what happened when we ran AndroidMicScreenshot of AndroidMic (github.com/teamclouday/AndroidMic)
Install✓ · 84s750 packages
Build✗ · 338s
Tests✗ · 47sran, no count parsed
Repo154 files~11,099 lines of source · 2.2 MB · 2 CI workflows

Answers from our run

Does AndroidMic build from source?

Dependencies installed in 84 seconds (750 packages), and the build failed. We cloned commit 925b110 into a clean Debian container with 3 CPUs and no project-specific setup.

Do AndroidMic's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use AndroidMic?

Anyone unwilling or unable to install a virtual audio device: the README calls that step required on Windows, Linux, and macOS.

What are the alternatives to AndroidMic?

MicYou, scrcpy. Our AndroidMic build failed after 338 seconds, and its 47-second test command failed at the same missing PipeWire system library after Cargo installed 750 packages.

Setup3/5Binaries are ready; every OS still needs a virtual audio route
Docs3/5Good user guide, but Debian source dependencies are incomplete
Community4/51,623 stars, a current release, and recent issue discussion
Maturity3/5Version 2.2.9 ships widely; audio and packaging reports remain

Who it’s for

Laptop and desktop users who need a spare microphone and already have an Android phone.
Streamers or callers willing to configure a virtual audio cable before opening Discord, Zoom, OBS, or a recorder.
Users who want a choice among TCP, UDP, USB ADB, and USB serial connections.
Linux, Windows, and macOS users who prefer downloadable desktop packages over compiling the Rust app.

Who it’s NOT for

Anyone unwilling or unable to install a virtual audio device: the README calls that step required on Windows, Linux, and macOS.
Linux users who need a headless service: open issue 169 says the command-line launch still opens the GUI.
PipeWire users who cannot tolerate packaging-dependent delay: issue 173 reports 1 to 2 seconds of latency in the 2.2.8 AppImage, while the locally built binary did not show it; release 2.2.9 only says it attempted a fix.
Users relying on noise reduction or gain controls for delay-sensitive speech: issue 154 reports severe lag with filters enabled on one Fedora system.
Windows 11 users who need ADB reconnects to recover predictably: issue 151 reports a port-in-use state that persisted until reboot on the reporter's PC.
Bluetooth microphone users: the project history says Bluetooth support was removed in favor of USB serial.

Setup reality

Our sandbox installed 750 Rust packages in 84 seconds. The build then failed with exit 101 after 338 seconds, and tests failed with exit 101 after 47 seconds. Both log tails say libpipewire-0.3 was missing from pkg-config.

The source project lives in RustApp/. Linux CI installs ALSA, JACK, PipeWire, PulseAudio, XKB, and Protobuf development packages, while the short Rust README only names ALSA for Debian. Most users can avoid compiling by downloading the 2.2.9 desktop package and Android APK or using F-Droid and Nixpkgs.

A virtual audio cable remains mandatory: VB-CABLE or VAC on Windows, a PipeWire or PulseAudio device on Linux, and BlackHole or similar on macOS. WiFi requires both devices on one network. ADB needs USB debugging and platform tools, while USB serial can require WinUSB driver changes on Windows or udev rules on Linux.

Four transport choices feed one virtual microphone

AndroidMic sends phone audio over 4 documented options: TCP, UDP, USB ADB, and USB serial. The Android app records the microphone, while the Rust desktop app receives and plays the stream. Users can choose sample rate, channel count, and bit depth, view an audio waveform, and enable noise processing. The result can feed Discord, Zoom, OBS, Audacity, or another program that accepts a microphone input.

The architecture is split across 2 applications. Kotlin and Jetpack Compose drive the Android side; the current desktop replacement is Rust and lives in RustApp/. The original Windows-only WPF code remains on a backup branch. Released desktop packages cover Windows, Linux, and macOS, while the Android package is on GitHub and F-Droid. Nix and NixOS users can run the package from nixpkgs.

Every desktop needs a separate virtual audio cable

The README calls a virtual audio device required, even with release 2.2.9. AndroidMic plays received sound into that device's output side, and calling or recording software selects its paired input side. Windows users can choose VAC or VB-CABLE. Linux users create a PipeWire or PulseAudio route, and macOS users need BlackHole or an equivalent driver. The extra layer is the largest difference between AndroidMic and a normal USB microphone.

Transport choice adds more setup. TCP and UDP need the phone and PC on the same network, plus the PC address and port. USB ADB needs Android platform tools and USB debugging. USB serial can require replacing the phone driver with WinUSB on Windows, closing ADB, and connecting twice when accessory mode starts. Linux serial access may need a udev rule. None of this is hidden in the main guide, but it is easy to underestimate.

What happened when we ran it

Our sandbox installed the Rust project at commit 925b110 in 84 seconds and pulled 750 packages. The repository held 154 files, about 11,099 source lines, and occupied 2.2 MB after checkout. The build ran for 338 seconds, then exited with code 101. Its log said pkg-config could not find libpipewire-0.3.pc, and PKG_CONFIG_PATH was unset.

The test command failed with exit 101 after 47 seconds at the same native dependency check. Cargo reported that libspa-sys required libpipewire-0.3; no test summary appeared in the supplied tail. The project had 2 CI workflows, no Dockerfile, and no tests directory. These results show that Rust alone is insufficient for the Linux source build. They do not show a defect in audio transport or in release binaries.

Linux CI names six dependency groups that the Rust README omits

The GitHub workflow installs 6 Linux development groups before building: ALSA, JACK, PipeWire, PulseAudio, XKB, and Protobuf. By contrast, RustApp/README.md tells Debian users only to install libasound2-dev. That gap explains why a fresh Debian environment can follow the short source note and still fail. A source builder should use the workflow as the practical dependency list, including libpipewire-0.3-dev, then run the project from RustApp/.

Most users should start with release 2.2.9 instead. The release provides Android APK, Windows installers, a Linux AppImage, and Intel plus Arm macOS disk images. Nixpkgs and F-Droid are documented alternatives. On macOS, the README may require clearing quarantine attributes with xattr. Release packages reduce compiler work, but they do not configure the required virtual audio device.

One AppImage report measured 1 to 2 seconds of delay

Open issue 173 reports 1 to 2 seconds of PipeWire latency with the official 2.2.8 AppImage over USB ADB on an Arch-based system. The reporter said a local release build from the same source had negligible delay, and another user confirmed similar behavior. Release 2.2.9 names an attempt to fix AppImage delay, but the open issue contains no retest of that release. Treat the package route as something to verify on your own audio stack.

Processing can add a separate problem. Issue 154 reports severe lag when noise reduction, gain control, or another filter was enabled on Fedora 44, with stable streaming only when filters were off. Issue 151 describes a Windows 11 ADB reconnect that left a port-in-use error until reboot. These are individual reports, not general failure rates, yet both concern the exact situations where a microphone replacement must feel boring and predictable.

Version 2.2.9 is active beside 61 issues and pull requests

GitHub showed 1,623 stars and 61 combined issues and pull requests on September 12, 2026. The last release, 2.2.9, arrived September 4, and the repository was pushed again on September 6. Recent work touched PipeWire packaging, Android dependencies, notification muting, and Nix documentation. The open queue is large for this project, while the dated push and release activity show ongoing maintenance rather than abandonment.

Several open reports are setup questions or platform-specific failures, which fits an app that crosses Android permissions, desktop drivers, network routes, ADB, USB modes, and 3 host operating systems. The README's troubleshooting section covers missing virtual microphones, driver selection, Defender warnings, USB permissions, and mismatched audio formats. Good documentation lowers the support cost, although it cannot make every audio stack behave alike.

AndroidMic works best as a tested spare, not silent infrastructure

Version 2.2.9 is easy to try from a binary and gives more transport choice than a fixed USB microphone. It is a sensible spare for calls, streaming, or casual recording when a phone is already available. The mandatory virtual cable, driver work, open headless request, and platform-specific latency reports make it a poor fit for unattended service use. Test the full path, phone to desktop receiver to virtual input to final application, before an event where failure matters.

Alternatives

ProjectWhat it isPick it when
MicYou gh↗An Android-to-desktop microphone with GUI, CLI, TUI, web mode, and several audio processors.pick this instead when headless-friendly desktop controls, browser input, or detailed network statistics matter.
scrcpyAn Android mirroring and control tool that can also record a device camera and microphone.pick this instead when screen control or camera capture is the main job and a virtual microphone is secondary.

What people are saying

  1. [github-trending] teamclouday/AndroidMic

Sources

  1. AndroidMic repository and setup guide
  2. AndroidMic release 2.2.9
  3. AndroidMic Linux CI workflow
  4. Issue 173: AppImage latency on PipeWire
  5. Issue 154: filter-related audio lag
  6. Issue 151: ADB reconnect port conflict
  7. Issue 169: headless mode request

More dev tools reviews

mihon · RyukGram · tabby · rollup · beekeeper-studio · stats · the whole board →