Quick Start
Welcome to Tango ADB's developer documentation! 🎉
Tango is a TypeScript re-implementation of ADB (Android Debug Bridge) client for Web browsers and Node.js.
If you are looking for our Tango Web application where you can control your Android devices, please click here.
Features
- Zero dependencies: Don't use any third-party libraries to provide a lightweight and secure solution.
- Cross platform: Runs on all recent versions of Node.js and Web browsers (supported connection methods vary).
- Independent: Doesn't require Google ADB server to connect to devices (but can also work with it).
- Extensible: Supports custom connection methods and ADB commands.
The public API is not stable. Check GitHub Releases page for changes.
If you have any questions, feel free to open a discussion on GitHub ❤️
Installation
Tango is split into multiple packages to support different runtime environments. First, install the two core packages:
@yume-chan/adb
: The platform-independent ADB client implementation@yume-chan/stream-extra
: Type definitions and utilities for Web Streams API.
- npm
- Yarn
- pnpm
npm i @yume-chan/adb @yume-chan/stream-extra
yarn add @yume-chan/adb @yume-chan/stream-extra
pnpm add @yume-chan/adb @yume-chan/stream-extra
First Step
Tango provides an Adb
class, which contains high-level APIs for ADB commands, and also allows custom commands to be added.
The end goal is to create an Adb
instance, but first, an AdbTransport
object is required.
The AdbTransport interface defines how to communicate with ADB Daemons (basically, your devices). ADB Daemon is the program on Android devices (when USB Debugging or Wireless Debugging options are enabled) that handles incoming ADB connections and commands.
Tango provides two built-in transports: Daemon Transport and Server Transport, and also accepts custom transport implementations.
Answer several questions to determine which transport you need: