Chris Collins

Tools · home

ADB for Android and Fire TV

Android Debug Bridge in the browser — over WebUSB or the network (port 5555 through the gitwebsite app): device info, logcat, a shell, APK install, apps, files, screenshots and recordings, and a TV remote for Fire TV and Android TV.

Added

How to use it

Browser support: USB needs WebUSB — desktop Chrome or Edge (or Chrome on Android with a USB OTG cable). Safari and Firefox have no WebUSB. The network connection needs the gitwebsite app running on this computer, because a web page cannot open TCP sockets. The protocol code is Tango (ya-webadb), loaded from jsDelivr.

Connect

  • USB: turn on USB debugging (see the Fire TV guide tab), plug in with a data cable, press Connect over USB and pick the device. Only one program can hold the USB interface: if a desktop adb server is running, stop it with adb kill-server. On Windows the device needs the WinUSB (Google USB) driver.

  • Network: type the device’s IP address (port 5555 unless you give another), and press Connect over the network. The connection goes through the gitwebsite app’s TCP relay. The first time a page asks for a new address, the app asks you to approve it. Fire TV listens on 5555 as soon as ADB debugging is on. Most Android TVs need Network debugging turned on, or adb tcpip 5555 run once over USB. Nothing on your network is scanned: you enter the address yourself.

  • Authorisation: the first time, this browser makes an RSA-2048 key and keeps it in IndexedDB. The device asks "Allow USB debugging?" and shows the key’s fingerprint, which the tool shows too. Check they match, tick Always allow, and tap Allow. The Connect tab can copy the public key (the adbkey.pub line) or delete the key.

The tabs

  • Device: model, maker, Android version and API level, Fire OS version, build, security patch, ABI, battery (level, charging, health, temperature), storage free on /data, /sdcard and /system, screen size and density, network addresses, uptime, and every build property with a filter.

  • Remote: a D-pad, OK, Home, Back, Menu, Power, play/pause, rewind and fast-forward, volume, mute, channel up and down, Settings and Search. Send types text into the focused field. The keys go to the device as input keyevent down a single shell, so presses are quick. With this tab open, the arrow keys, Enter, Backspace/Escape (Back), H (Home) and Space (play/pause) on your keyboard work too.

  • Logcat: streams logcat -v threadtime from the main, system, crash or events buffer, or all of them. Filter by minimum level, tag, PID, or text (/regex/ works). Pause holds the view while lines are still collected. Save downloads the filtered lines, and Clear device log runs logcat -c after asking. The last 20,000 lines are kept.

  • Shell: an interactive shell on the device’s pty, like adb shell. ↑ and ↓ recall earlier commands, which are kept in this browser. There are buttons for Ctrl-C, Ctrl-D, Tab and Esc.

  • Apps: drop an .apk (or tap to choose one) to install it. The file is pushed to /data/local/tmp and installed with pm install -r -t, and the temporary copy is deleted. Below that is the package list (yours, all, or disabled) with version codes. Each package can be launched, stopped, or shown in detail (version name, target API, last update). Clear data and Uninstall ask first.

  • Files: browse folders (/sdcard to start with), pull a file, push files (with the button, or by dropping them on the list), and delete a file after confirming. Without root, shell can read /sdcard and /data/local/tmp, but not most of /data.

  • Screen: take a screenshot (screencap -p) and save it as PNG. You can also tap the screenshot to tap the device. Record runs screenrecord for up to 180 s, pulls the MP4 and deletes it from the device.

  • Fire TV guide: how to turn on developer options and ADB debugging on Fire TV, Android TV and phones, some useful commands, and common package names (Netflix, YouTube, Prime Video, Kodi, …) with Launch buttons.

The log, the shell and the screenshot each have full screen (the ⛶ button in the tool’s header).

Limits

  • Android 11’s Wireless debugging (pairing code, TLS on a random port) is not supported, because the library has no TLS transport. Use USB, or classic adb over TCP (adb tcpip 5555). TVs and Fire TV use classic adb.

  • WebUSB is not available in Safari, Firefox or iOS.

  • The network path needs the gitwebsite app’s TCP relay, and the device’s address must be approved in the app. Without the app, only USB works.

  • Protected video (DRM) shows as black in screenshots and recordings. Some Fire TV models have no screenrecord.

  • The shell is a plain text terminal. Full-screen programs such as top or vi do not draw properly in it.

  • The package names in the guide are the usual ones, but they can differ by region and model. Check the Apps tab for what is actually installed.

  • Fire OS versions come from ro.build.mktg.fireos when the device sets it. Otherwise the tool guesses from the API level (Fire OS 7 is Android 9, API 28; Fire OS 8 is Android 11, API 30), following Amazon’s Fire TV device specifications.

How it is tested: the wire protocol, the RSA public-key format, the MD5 fingerprint (checked against the RFC 1321 test vectors) and the parsers run as node tests. They run against a fake adbd that checks real RSA signatures and also speaks the sync file protocol. Tango itself was checked against the same fake through a fake companion relay. It has not been tried on a real device or emulator here.

Runs entirely in your browser — network requests go only to the services named on this page.