This (C# .NET 4.6) dll is a kind of ADB/Fastboot/(apk/zip) Signer - Framework, it provides a lot of predefined .NET functions to communicate with an Android device. It's designed to work in 1st case with any non-root device but u can also use it with any rooted device (A few functions requires root access).

Übersicht Info & Download
The following (N)amespaces, (C)lasses & (I)nterfaces are currently available:
  • (N) ADB
    • (N) Binary (This is the binary/exe implementation of ADB)
      • (C) ADB (Implementation of IADB)
      • (C) Channel (Implementation of IChannel)
    • (N) Device
      • (N) BusyBox
        • (C) BusyBox
        • (C) Find
        • (C) Tar
      • (N) Dumpsys
        • (C) Battery
        • (C) Dumpsys
        • (I) IBattery
      • (N) Input
        • (I) IKeyEvent
        • (C) Input
        • (C) InputExtensions
        • (C) KeyEvent
      • (N) IO
        • (C) Directories (Similar to .NET Directory/-Info)
        • (C) Files (Similar to .NET File/-Info)
        • (C) FileSystem (Returns all mount-points (df / df -Pakh))
        • (C) FileSystemItem
        • (I) IFileSystemItem
        • (C) IO
        • (I) ITransferMessage
        • (C) MediaScanner (Manage the Android MediaScanner, useful after some file-transfers via ADB)
        • (C) Mount (Requires Root and manage the mounts)
        • (C) TransferMessage
        • (C) UPath
      • (N) Logcat
        • (I) ILogEntry
        • (C) Logcat
        • (C) LogEntry
      • (N) Manager
        • (C) ActivityManager
        • (I) IInstrumentation
        • (C) Instrumentation
        • (I) IPackage
        • (I) IPermission
        • (C) Manager
        • (C) Package
        • (C) PackageManager
        • (C) Permission
      • (N) Provider
        • (C) Contacts (Contacts provider)
        • (C) ContactsDataField
        • (C) ContactsEmail
        • (C) ContactsEvent
        • (C) ContactsGroup
        • (C) ContactsIdentity
        • (C) ContactsIM
        • (C) ContactsName
        • (C) ContactsNickname
        • (C) ContactsNote
        • (C) ContactsOrganization
        • (C) ContactsPhone
        • (C) ContactsPhoto
        • (C) ContactsPostalAddress
        • (C) ContactsRelation
        • (C) ContactsSipAddress
        • (C) ContactsWebsite
        • (I) IContactsDataField
        • (C) Provider
        • (C) Telephony (Telephony provider)
      • (N) Screen
        • (C) Framebuffer (Implementation of IFramebuffer)
        • (C) FramebufferInfo
        • (I) IFramebuffer (Interface of an RAW framebuffer)
        • (I) IFramebufferInfo
        • (I) IScreenDimension
        • (I) IScreenFocus
        • (C) Screen
        • (C) ScreenDimension
        • (C) ScreenFocus
      • (N) Shell
        • (I) IShell (Interface of an shell with in-/output abilities)
        • (C) Shell (Implementation of IShell)
      • (N) SQLite
        • (C) Options
        • (C) QueryTools
        • (C) SQLite3 (SQLite3 database connector)
      • (C) BuildProperties
      • (C) Daemon (Manage the daemon on the device)
      • (C) Device
      • (C) Forensics (ALFA-State)
      • (I) IUptime
      • (C) OpenRecoveryScript (Manage the OpenRecoveryScript)
      • (C) Phone (Start a call, dial a number, add a contact or send a sms)
      • (C) Su
      • (C) Uptime
      • (C) Wipe
    • (N) Shared
      • (C) Monitor (Implementation of IMonitor)
    • (N) Socket (This is the IP based implementation of ADB - Here is NO binary/exe required)
      • (C) ADB (Implementation of IADB)
      • (C) ADBSocket (IP based connector - Mimics the ADB-Server)
      • (C) Channel (Implementation of IChannel)
    • (C) ADBridge (Unified access to Binary.ADB and Socket.ADB)
    • (I) IADB (Interface for nearly all ADB commands)
    • (I) IChannel (Interface of an RAW data channel)
  • (N) Fastboot
    • (C) Backdoor (Some backdoor commands)
    • (C) Fastboot (Includes nearly all fastboot.exe commands)
    • (C) Monitor (Implementation of IMonitor)
    • (C) OEM (Some OEM commands)
    • (C) Wipe
  • (N) ProcessModels
    • (C) General (Includes some predefined process models)
    • (I) IRealTimeBG (Interface of an background process with in-/output abilities)
    • (C) RealTimeBGExe (Old implementation of RealTimeBG)
    • (C) RealTimeBGExeV2 (Implementation of IRealTimeBG)
  • (N) Signer
    • (C) Signer (signapk.jar Interface)
  • (N) Tools
    • (C) CRC
    • (C) Deploy (Deploy the AAPT/ADB/Fastboot/Signer files needed by this dll)
    • (C) Hash
    • (C) Hex
    • (C) ToolBox
  • (C) Cleanup (Delete the files/folders which were created by this dll)
  • (C) Config
  • (I) IMonitor (Interface for the ADB.Binary, ADB.Socket and Fastboot.Fastboot monitor)


Special
  • All Android key-events as (int)enum and the ability to send them as single or stack.
  • Ready-To-Go MVVM's for WPF, XAML via my AndroidCtrlUI.dll
  • Multi-Device compatible, u can manage unlimited devices at the same time with this dll. Each device gets it's own instance. (Thread-Safe, the dll use lock() for critical sections)
  • UTF8-File/Folder Transfer u can transfer files/folders with containing special chars (ü, ö, ä, €, @, à, è, etc.)
  • On-the-fly Device to Device copy (Binary <-> Binary | Binary <-> Socket | Socket <-> Socket)
  • Device-Monitor, if activated, it will check every 10 sec. ADB & Fastboot for new connected devices and call an defined callback, if something changed. So ur program get's an info if an device is connected or removed.


Hint
  • U can use all ADB methods/commands via USB or W-Lan/Lan, if ur Rom supports ADB via W-Lan/Lan (Settings/Developer Settings).
  • If u want to use the ADB class (and all subclasses) with BusyBox instead of the Shell u have to set ADB.Instance().UseBusyBox to true. This will tell the ADB instance to use the BusyBox commands inside each method, if the device has BusyBox installed.