adb-client-tokio

Crates.ioadb-client-tokio
lib.rsadb-client-tokio
version0.0.5
sourcesrc
created_at2024-06-11 07:57:49.778246
updated_at2024-06-13 07:29:51.032615
descriptionA Rust library for communicating with Android devices via the Android Debug Bridge (ADB) protocol.
homepage
repositoryhttps://github.com/devicelink/adb-client-tokio
max_upload_size
id1267929
size31,079
Andreas Lüdeke (aluedeke)

documentation

README

Crates.io Docs.rs Build License: MIT

Android Debug Bridge (ADB) Client Library for async Rust

A pure rust implementation to send commands and forwards traffic to an android device using a adb server.

Complete Example

Run a shell command on an device:

use adb_client_tokio::{Device, AdbClient};
use std::error::Error;

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    let mut adb = AdbClient::connect_tcp("127.0.0.1:5037").await.unwrap();
    let version = adb.shell(Device::Default, "getprop ro.product.model").await?;
    println!("ADB server version: {}", version);
Ok(())
}

Protocol Details

Checkout Android Source for details about the used protocols

Development

To inspect adb traffic you can e.g. use SOCAT like this:
socat -x -v TCP-LISTEN:8080,fork TCP:127.0.0.1:5037

Commit count: 23

cargo fmt