Manipulate Android devices from any (supported) web browsers, even from another Android device.
Online demo: https://yume-chan.github.io/ya-webadb
I'm working on a series of blog posts explaining the ADB protocol and my implementation in details.
@yume-chan/adb
contains a platform-independent TypeScript implementation of the Android Debug Bridge (ADB) protocol.
@yume-chan/adb-backend-webusb
contains a backend for @yume-chan/adb
that uses WebUSB API.
See README in each package for more implementation details.
This repository is a monorepo containing following packages:
Folder Name | Description |
---|---|
adb (README) | TypeScript implementation of Android Debug Bridge (ADB) protocol. |
adb-backend-webusb (README) | Backend for @yume-chan/adb using WebUSB API. |
event | Event/EventEmitter pattern. |
struct (README) | C-style structure serializer and deserializer. |
webpack-config | Webpack configuration file in TypeScript, will output into demo folder |
demo (README) | Demo of @yume-chan/adb and @yume-chan/adb-backend-webusb . |
If you already have lerna installed globally, run
npm run postinstall
Otherwise, run
npm install
will install lerna locally and bootstrap all packages.
npm run build
: build all npm packages.npm run build:watch
: build and watch changes for all npm packages.npm run start:demo
: start webpack-dev-server for thedemo
package.npm run build:demo
: build thedemo
package.