Skip to content

Latest commit

 

History

History
104 lines (58 loc) · 5.2 KB

File metadata and controls

104 lines (58 loc) · 5.2 KB
graph LR
    ADBCommandExecutor["ADBCommandExecutor"]
    StateResetter["StateResetter"]
    DeviceConnector["DeviceConnector"]
    CommandExecutor["CommandExecutor"]
    FilePusher["FilePusher"]
    FilePuller["FilePuller"]
    ServiceConnectionManager["ServiceConnectionManager"]
    StreamingShell["StreamingShell"]
    ADBCommandExecutor -- "manages state through" --> StateResetter
    ADBCommandExecutor -- "relies on" --> DeviceConnector
    ADBCommandExecutor -- "utilizes" --> ServiceConnectionManager
    ADBCommandExecutor -- "delegates to" --> CommandExecutor
    ADBCommandExecutor -- "orchestrates file transfers with" --> FilePusher
    ADBCommandExecutor -- "orchestrates file transfers with" --> FilePuller
    ADBCommandExecutor -- "manages lifecycle and interaction with" --> StreamingShell
    FilePusher -- "uses" --> CommandExecutor
Loading

CodeBoardingDemoContact

Details

The ADB Command Executor subsystem is primarily defined by the adb.adb_commands module, specifically the AdbCommands class and its methods, all contained within the file /mnt/e/StartUp/python-adb/adb/adb_commands.py. This subsystem provides a comprehensive interface for interacting with Android devices via the ADB protocol.

ADBCommandExecutor

The primary interface for all high-level ADB operations. It orchestrates interactions with the device and manages the lifecycle of ADB connections.

Related Classes/Methods:

StateResetter

Resets the internal state of the ADBCommandExecutor instance, clearing connection handles and service connections to ensure a clean slate for new operations or after closing a connection.

Related Classes/Methods:

DeviceConnector

Handles the underlying logic for establishing a connection to an ADB device, supporting both USB and TCP connections. It abstracts the details of finding and opening device handles.

Related Classes/Methods:

CommandExecutor

Executes arbitrary shell commands directly on the connected Android device. The Install and Uninstall methods are higher-level wrappers that leverage the Shell command.

Related Classes/Methods:

FilePusher

Manages the transfer of files and directories from the host system to the Android device. It handles opening the source file/directory and initiating the sync protocol.

Related Classes/Methods:

FilePuller

Manages the transfer of files from the Android device to the host system. It handles writing the received data to a destination file or returning it as bytes.

Related Classes/Methods:

ServiceConnectionManager

Establishes and manages persistent connections to specific ADB services (e.g., "shell", "sync"). It optimizes by reusing existing connections for the same service type.

Related Classes/Methods:

StreamingShell

Provides a mechanism for continuous, streaming output from shell commands, suitable for long-running processes like log retrieval.

Related Classes/Methods: