Java desktop app to manage multiple Android devices via adb
- View all connected (and wireless) devices
- Populates device phone number, free space, IMEI, carrier (if available)
- Remote control selected devices (requires scrcpy)
- Capture screenshots 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
- NOTE: this is a work in progress!
- Restart selected devices
- Run user-defined adb commands
- Set and display custom properties on each device
- Start an adb shell session with selected devices
- View version of user-defined list of apps
- 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
I'm using jdeploy to package this as a native app for Mac/Windows/Linux. This also allows for automatic updates
To install open a terminal and run this command:
/bin/bash -c "$(curl -fsSL https://www.jdeploy.com/~android-device-manager/install.sh)"
See this page to download the installer directly
Build Android Device Manager
- Java SDK
- min version 17; I'm using openjdk 22.0.1 2024-04-16
- MacOSX -> Homebrew ->
brew install openjdk
- Linux - link
- Maven
- MacOSX -> Homebrew ->
brew install maven
- Linux - link
- MacOSX -> Homebrew ->
- sync this repo
git clone https://github.com/jpage4500/AndroidDeviceManager.git
- build
mvn compile
- run:
mvn exec:java
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)