Skip to content

yangchaoNJ/ya-webadb

 
 

Repository files navigation

Android Debug Bridge (ADB) for Web Browsers

GitHub license

Manipulate Android devices from any (supported) web browsers, even from another Android device.

Online demo: https://yume-chan.github.io/ya-webadb

How does it work

I'm working on a series of blog posts explaining the ADB protocol and my implementation in details.

@yume-chan/adb is a platform-independent TypeScript implementation of the Android Debug Bridge (ADB) protocol.

@yume-chan/adb-backend-webusb is a backend for @yume-chan/adb that uses WebUSB API.

See README in each package for details.

Packages

This repository is a monorepo containing following packages:

Package 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 (README) Event/EventEmitter pattern.
struct (README) C-style structure serializer and deserializer.
demo (README) Demo of @yume-chan/adb and @yume-chan/adb-backend-webusb.

Development

The repository uses Rush for monorepo management.

Install Rush globally

$ npm i -g @microsoft/rush

Install dependencies

$ rush update

Everyday commands

Build all packages:

$ rush build

Watch all libraries:

$ rush build:watch

Start demo dev-server:

$ cd apps/demo
$ npm start

Usually you need two terminals to run both 2 and 3.

Packages

No packages published

Languages

  • TypeScript 96.8%
  • JavaScript 2.7%
  • Other 0.5%