Android Device Manager is a desktop (mac/windows/linux) app which can manage one or more Android devices
- View all connected (usb and wireless) devices
- View devices connected to another computer running this app (see SERVER.md)
- Populates device phone number, free space, IMEI, carrier
- Remote control devices (scrcpy)
- Capture screenshots of selected devices
- Record video of selected devices
- Drag and drop an apk to install on selected devices
- Drag and drop a file to copy to selected devices
- File Explorer / Browse filesystem of device
- download and view folders/files
- delete folders/files
- root mode supported
- View Device Logs
- filter by log level/tag
- add and combine filters to make searching logs easier
- Restart selected devices
- Run user-defined adb commands
- Run user-defined scripts
- Set and display custom properties on each device
- Start an adb shell session with selected devices
- View version of user-defined list of apps
- Connect to devices wirelessly via QR code
see SERVER.md
More Screenshots
Mirror Device (scrcpy)
Device Info
Battery Details
Connect Device via QR code
Device Stats - Battery Temp
Device Stats - OS
Save Logs from multiple devices to file(s)
I'm using jdeploy to package this as a native app for Mac/Windows/Linux. This also allows for automatic updates
To install, grab the latest version from Releases
Installing on a corporate network (TLS inspection / "app.xml could not be found")
On networks that run TLS inspection (Netskope, Zscaler, Palo Alto, etc) the installer fails with:
Cannot load app info because the app.xml file could not be found
The real cause is certificates, not a missing file. jdeploy runs the installer on a private JRE it
downloads to ~/.jdeploy, and that JRE has its own truststore which doesn't include your company's
root CA — so its HTTPS calls fail with a PKIX error. macOS itself trusts the root, which is why
curl and your browser work fine.
On macOS, this one command downloads the latest release, installs it, and fixes the certificates:
curl -fsSL https://raw.githubusercontent.com/jpage4500/AndroidDeviceManager/develop/scripts/install-corporate.sh | bash
It only imports a root CA that macOS already trusts, and does nothing at all if it can't detect any interception. Once installed, jdeploy auto-updates the app on launch as usual.
- adb - android debugging tools
- scrcpy - used to mirror a device (link)
Mac Setup
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install --cask android-platform-tools
- add adb to PATH
echo 'export ANDROID_HOME=$HOME/Library/Android/sdk' >> ~/.profile
echo 'export PATH="/opt/homebrew/bin:$ANDROID_HOME/platform-tools:$PATH"' >> ~/.profile
brew install scrcpy
Windows Setup
download from here and extract archive
- move extracted platform-tools/ folder to your /Program Files/Android/
- add the location to your PATH
- test this by running “adb” in a command window
download and install from here
- make sure “scrcpy” in in PATH
Linux Setup
sudo apt-get install curl git adb
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo >> ~/.bashrc
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
brew install scrcpy
We want to manage a lot of Android devices and had previously used MDM (mobile device management) software such as AirDroid and ScaleFusion. These tools aren't free ($$) but more importantly trying to remote control/view an Android device was often a very slow and choppy experience.
So, instead we took a different approach. Instead of running MDM software on every individual Android device, we connected all of the devices to a single macbook laptop using multiple 16-port USB hubs. The Macbook is running Splashtop remote control software. I can now remote login and using Android Device Manager control all of the devices with very little to no lag.
Tested with 45 Android devices connected to 1 Macbook laptop (using multiple 16-port USB hubs)



