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-web
contains a backend for @yume-chan/adb
that uses Web technologies.
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-web (README) | Backend for @yume-chan/adb using Web technologies. |
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-web . |
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@yume-chan/event
,@yume-chan/adb
and@yume-chan/adb-backend-web
packages.npm run build:watch
: build and watch changes for@yume-chan/event
,@yume-chan/adb
and@yume-chan/adb-backend-web
packages.npm run start:demo
: start webpack-dev-server for thedemo
package.npm run build:demo
: build thedemo
package.