The tools map one to one onto the adb subcommands you would otherwise type, and they surface the switches instead of hiding them: list-packages carries the whole filter set down to installer and uninstalled packages, install-apk defaults to allowing reinstall, test packages and downgrade, and rm takes force and recursive. The vocabulary stops where the device shell's does — packages, files, permissions, text input and screenshots — so driving the UI of an app is not part of it.
An ADB front end for a connected Android device, with 12 tools covering packages, permissions, file transfer, APK installs, text input and screenshots.
- get-devices lists the connected Android devices, showing each one's full adb detail line unless you turn showDetails off.
- list-packages lists what is installed and filters it to third-party, system, enabled, disabled or uninstalled packages, optionally with each package's APK path and the installer that put it there.
- install-apk pushes an APK from a local path, allowing reinstall, test packages and downgrade by default and granting every permission up front when you ask for it; uninstall-apk removes a package, and keepData leaves its data and cache behind.
- clear-app-data wipes one package's data and cache, reset-permissions returns a package to its default permission state, and grant-permission hands it one named permission.
- pull and push move files between the device and local disk, rm deletes a path on the device with force and recursive available, and screencap saves a screenshot to a device path as PNG.
- input-text types a string into whatever currently has focus on the device.
ADB from the Android SDK Platform Tools, on your PATH and answering adb version. USB debugging switched on for the device — tap the build number 7 times to unlock developer options first. The server is launched with the absolute path to your adb binary as an argument. No credentials and no keys.
