This project is a TypeScript implementation of the Android Debug Bridge(ADB) protocol over WebUSB. The implementation inspired on the webadb.js, with the main difference being that implementation supports multiple concurrent streams.
This is not an exhaustive implementation of the protocol and hasn't been tested on a wide range of devices.
A non-exhaustive list of things that are not implemented:
STAT
: reads stats from the Android filesystem (file size, mode and time).SEND
: writes a file to a device. Similar toadb push
.
const options: Options = {
debug: true,
useChecksum: false,
dump: false,
keySize: 2048,
};
const transport = await WebUsbTransport.open(options);
const adbClient = new AdbClient(transport, options, keyStore);
await adbClient.connect();
const result: Blob = await adbClient.pull('/sdcard/my-video.mp4');
const result: string = await adbClient.shell('uname -a');
const callback = (output: string) => {
console.log('server: ' + output);
};
const shell: Shell = await adbClient.interactiveShell(callback);
await shell.write('ls /sdcard\n');
await shell.close();
- https://github.com/webadb/webadb.js
- https://github.com/cstyan/adbDocumentation
- https://android.googlesource.com/platform/system/core/+/master/adb/
See CONTRIBUTING for more.
See LICENSE for more.
This is not a Google product.