An open API service indexing awesome lists of open source software.

https://github.com/cocool97/adb_client

Rust ADB (Android Debug Bridge) client library
https://github.com/cocool97/adb_client

adb android rust

Last synced: 4 months ago
JSON representation

Rust ADB (Android Debug Bridge) client library

Awesome Lists containing this project

README

          




Android Debug Bridge (ADB) client implementation in pure Rust !




crates.io


msrv


ci status


dependency status


dependency status

Main features of this library:

- Full Rust, don't use `adb *` shell commands to interact with devices
- Supports
- Using ADB server as a proxy (standard behavior when using `adb` CLI)
- Connecting directly to end devices (without using adb-server)
- Over **USB**
- Over **TCP/IP**
- Implements hidden `adb` features, like `framebuffer`
- Highly configurable
- Provides wrappers to use directly from Python code
- Easy to use !

## adb_client

Rust library implementing both ADB protocols (server and end-devices) and providing a high-level abstraction over the many supported commands.

Improved documentation available [here](./adb_client/README.md).

## examples

Some examples showing of to use this library are available in the `examples` directory:

- `examples/mdns`: mDNS device discovery

## adb_cli

Rust binary providing an improved version of Google's official `adb` CLI, by using `adb_client` library.
Provides a "real-world" usage example of this library.

Improved documentation available [here](./adb_cli/README.md).

## pyadb_client

Python wrapper using `adb_client` library to export classes usable directly from a Python environment.

Improved documentation available [here](./pyadb_client/README.md)

## Related publications

- [Diving into ADB protocol internals (1/2)](https://www.synacktiv.com/publications/diving-into-adb-protocol-internals-12)
- [Diving into ADB protocol internals (2/2)](https://www.synacktiv.com/publications/diving-into-adb-protocol-internals-22)

Some features may still be missing, all pull requests are welcome !