Skip to content

radu781/adb-utils-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ADB Utils

Rust implementation of commonly used ADB commands

Usage

Get all the photos taken on a certain day

use adb_utils::{manager::ADBManager, shell::ADBList};

fn main() {
    let mut manager = ADBManager::new();
    manager.cwd("/storage/emulated/0/DCIM/Camera");
    if let Err(err) = manager.connect("192.168.1.133", 36415) {
        println!("Could not connect: {err}");
        return;
    }
    let mut list = ADBList::default();
    let files = manager.execute_path_based(&mut list).unwrap().to_vec();
    files
        .iter()
        .filter(|file| file.starts_with("20230827"))
        .for_each(|file| println!("{file}"));
    // 20230827_132733.jpg
    // 20230827_141248.jpg
}

More usage examples here.

Supported commands

The list of commands is from running adb help

General

  • devices
  • help
  • version

Networking

  • connect
  • disconnect
  • pair
  • forward
  • ppp TTY
  • reverse
  • mdns check
  • mdns services

File transfer

  • push
  • pull
  • sync

Shell

  • shell
  • emu command

App installation

  • install
  • install-multiple
  • uninstall

Debugging

  • bugreport
  • jdwp
  • logcat

Security

  • disable-verify
  • enable-verify
  • keygen

Scripting

  • wait-for
  • get-state
  • get-serialno
  • get-devpath
  • remount
  • reboot
  • sideload
  • root
  • unroot
  • usb
  • tcpip

Internal debugging

  • start-server
  • kill-server
  • reconnect
  • reconnect device
  • reconnect offline

USB

  • attach
  • detach

Environment variables

  • adb trace
  • adb vendor keys
  • android serial
  • android log tags
  • adb local transport max port
  • adb mdns auto connect

About

Rust library that wraps over ADB commands

Topics

Resources

License

Stars

Watchers

Forks

Languages