Crate rust_droid

Crate rust_droid 

Source
Expand description

A simple and fluent Android automation library for Rust.

rust-droid provides a high-level API to control Android devices via ADB (Android Debug Bridge). It is inspired by popular automation tools like Airtest, with a focus on ease of use and a fluent, builder-style API.

§Quick Start

use rust_droid::{Droid, DroidConfig, Target, models::KeyCode};
use std::path::PathBuf;
use std::time::Duration;

fn main() -> anyhow::Result<()> {
    // 1. Create a Droid instance.
    let mut droid = Droid::new(DroidConfig::default())?;

    // 2. Define a target image.
    let settings_icon = Target::from("path/to/your/settings_icon.png");

    // 3. Wait for the icon to appear and get its position.
    let icon_position = droid.wait_for(settings_icon).execute()?;

    // 4. Tap the icon.
    droid.touch(icon_position.into()).execute()?;

    // 5. Press the back button.
    droid.keyevent(KeyCode::Back).execute()?;

    Ok(())
}

Re-exports§

pub use config::DroidConfig;
pub use models::Target;

Modules§

action
common
config
device
error
models
vision

Structs§

Droid
The main entry point for interacting with an Android device.