Skip to content

WOA-Project/AndroidDebugBridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android Debug Bridge over USB for .NET

This repository holds an implementation of the Android Debug Bridge (or ADB for short) protocol over USB in C#. It makes use of WinUSB (via WinUSBNet) for communicating over USB to a target device.

Currently the following features are not supported:

  • Push
  • Pull
  • List
  • Single command execution
  • Token signing for authentication
  • Legacy Shell interface (only v2 is supported at the moment)

These will be addressed at a later time.

Sample code

Below's code may give an idea of how to use the library currently:

using AndroidDebugBridge;

namespace Playground
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string usbid = @"\\?\USB#VID_045E&PID_0C26#0F0012E214600A#{dee824ef-729b-4a0e-9c14-b7117d33a817}"; // Android (Duo 2)
            //string usbid = @"\\?\USB#VID_18D1&PID_D001#0F0012E214600A#{dee824ef-729b-4a0e-9c14-b7117d33a817}"; // TWRP (Duo 2)

            Console.WriteLine($"Opening {usbid}...");
            using AndroidDebugBridgeTransport transport = new(usbid);

            Console.WriteLine("Connecting...");
            transport.Connect();

            transport.WaitTilConnected();

            Console.WriteLine($"Connected to: {transport.PhoneConnectionString}");
            Console.WriteLine($"Protocol version: {transport.PhoneSupportedProtocolVersion}");

            Console.WriteLine("Opening shell...");
            transport.Shell();

            Console.WriteLine("Shell closed!");

            Console.WriteLine("Rebooting...");
            transport.Reboot();
        }
    }
}

About

The Android Debug Bridge Protocol, implemented in C# / .NET

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages