FASTADB OTG is an Android app that provides a lightweight ADB and Fastboot console over USB OTG. It is designed for cases where you want to send basic ADB or Fastboot commands from one Android device to another Android device without using a desktop computer.
The app detects USB devices exposing Android ADB or Fastboot interfaces, requests USB permission, opens a USB bulk transport session, and provides a simple terminal-style interface for command execution.
- Detects ADB and Fastboot USB interfaces through Android USB host mode.
- Supports ADB authentication using an app-generated RSA key stored in Android Keystore.
- Provides a terminal interface for sending ADB shell/service commands and Fastboot commands.
- Displays basic device information, including product, serial number, bootloader version, current slot, build information, and connection mode when available.
- Includes quick actions for common workflows:
adb reboot bootloaderfastboot reboot-bootloaderfastboot oem set-gpu-preemption 0 androidboot.selinux=permissivefollowed byfastboot continue
- Built with Kotlin and Jetpack Compose.
- Android 13 or newer.
- USB OTG / USB host support.
- A USB-C cable or OTG adapter that allows the host Android device to connect to the target device.
For ADB mode:
- USB debugging must be enabled.
- The target device must authorize the FASTADB host key when the Android debugging prompt appears.
For Fastboot mode:
- The target device must already be in bootloader / Fastboot mode.
- The device must expose a standard Fastboot USB interface.
- Install and open FASTADB OTG on the host Android device.
- Connect the target device through USB OTG.
- Grant USB permission when prompted by Android.
- For ADB mode, confirm the USB debugging authorization prompt on the target device.
- Use the terminal input to send commands.
Example ADB commands:
adb shell getprop ro.product.model
adb reboot bootloader
shell:getprop ro.build.display.idExample Fastboot commands:
fastboot getvar product
fastboot getvar current-slot
fastboot reboot-bootloader
fastboot continueADB commands are normalized before execution:
adb shell <command>is sent as an ADB shell service.adb reboot [target]is sent as an ADB reboot service.shell:<command>andreboot:<target>can be sent as raw ADB services.- Other non-empty ADB input is treated as a shell command.
Fastboot commands are normalized before execution:
fastboot getvar <name>is converted togetvar:<name>.- Other non-empty Fastboot input is sent as a raw Fastboot command body.
ADB and Fastboot commands can reboot, modify, or otherwise affect the target device. Use the app only with devices you own or are authorized to service.
FASTADB generates its own ADB RSA key pair and stores it through Android Keystore. If the target device no longer trusts the host, revoke USB debugging authorizations on the target device and authorize the app again.