Android Debug Bridge (ADB) client implementation in pure Rust !
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). ## 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 !