Most Android Developers will be familiar with the adb command-line tool. It allows developers to connect their development computer to an Android device and run a variety of actions, like installing, starting or stopping an application, pushing and pulling files, taking screenshots, or recording the screen.
The introduction of WebUSB to the Web Platform opens the possibility of using ADB via a web page. This post contains some resources for developers looking for more information on using ADB over USB (or webadb).
- wadb: my own implementation of webadb, in TypeScript. Created as a demo / exploration of implementing ADB over WebUSB. Currently used by screenrecord.bandarra.me
- webadb.js: the oldest implementation of webadb that I'm aware of. The wadb implementation is largely based on this implementation.
- ya-webadb: a newer implementation, also in TypeScript. Powering app.webadb.com. Seems to also have a WebSocket implementation of the transport layer, but is not enabled on the demo site.
ADB Protocol Documentation
Besides reading the code and contributing to existing implementations, you may want to check other resources:
- ADB Internals: the official Android source repository. Contains both the C++ implementation of ADB as well as a set of text files describing various sections of the protocol:
- github.com/cstyan/adbDocumentation: an unnoficial documentation of the protocol. May be easier to read than the official documents.