SG Code - Design
  • Home
  • Impressum
.NET Projects
  • AndroidCtrl.dll
  • AndroidCtrlUI.dll
  1. You are here:  
  2. Home
  3. English (UK)
  4. AndroidCtrl.dll

AndroidCtrl.dll Adds Universality to Your Development Project
Under-Construction

All info's can be found in the navigation on the left side!

This (C# .NET 4.6|4.7|4.8) 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 you can also use it with any rooted device (A few functions requires root access).

Overview 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 (static Management Class for the ADBClient's)
      • (C) ADBClient (Implementation of IADBClient)
      • (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 (Implementation of IKeyEvent)
      • (N) IO
        • (N) Compression
          • (N) BrotliSharp (Only available in .NET 4.6|4.7|4.8 - In .NET Standard >= 2.1 you have to use the native .NET implementation)
        • (C) ADirectoryInfo (Similar to .NET Directory/-Info)
        • (C) AFileInfo (Similar to .NET File/-Info)
        • (C) AFileStream (Similar to .NET FileStream)
        • (C) AFileSystemInfo (Similar to .NET FileSystemInfo, it's the abstract base for ADirectoryInfo & AFileInfo)
        • (C) AMountPointInfo (Similar to ADirectoryInfo & AFileInfo but only for mounts)
        • (C) FileSystemCache (A cache object for ADirectoryInfo & AFileInfo)
        • (I) IFileSystemCache (Interface for FileSystemCache)
        • (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) Stat (stat class for the ADB-Protocol)
        • (C) SyncStream (Base implementation of the ADB sync service. Utilized by AFileStream)
        • (C) TransferMessage
        • (C) UPath (Similar to .Net Path but for unix paths)
      • (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) Shares
      • (C) Monitor (Implementation of IMonitor)
    • (N) Socket (This is the IP based implementation of ADB - Here is NO binary/exe required)
      • (C) ADB (static Management Class for the ADBClient's)
      • (C) ADBClient (Implementation of IADBClient)
      • (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) IADBClient (Interface for nearly all ADB commands)
    • (I) IChannel (Interface of an RAW data channel)
  • (N) Fastboot
    • (C) Backdoor (Some backdoor commands)
    • (C) Fastboot (static Management Class for the FastbootClient's)
    • (C) FastbootClient (Includes nearly all fastboot.exe commands)
    • (I) IFastbootClient (Interface for FastbootClient)
    • (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) RealTimeBGExeV2 (Implementation of IRealTimeBG)
  • (N) Signer
    • (C) Signer (signapk.jar Interface)
  • (N) Tools
    • (C) CRC
    • (C) Deploy (Deploy the ADB/Fastboot/Signer files needed by this dll)
    • (C) Hash
    • (C) Hex
    • (C) IMEI (Some helper to verify and rebuild a valid IMEI)
    • (C) ToolBox
  • (C) Cleanup (Delete the files/folders which were created by this dll)
  • (C) Config
  • (C) DeviceInfo (Basic device info, the return from "(Binary/Socket).ADB.Devices()" and "Fastboot.Devices()")
  • (I) IDeviceInfo (Interface for DeviceInfo)
  • (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, you 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 you 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 your program get's an info if an device is connected or removed.


Hint
  • You can use all ADB methods/commands via USB or W-Lan/Lan, if your Rom supports ADB via W-Lan/Lan (Settings/Developer Settings).
  • If you want to use all subclasses of IADBClient with BusyBox instead of the Shell, you have to set IADBClient.UseBusyBox to true. This will tell the instance to use the BusyBox commands inside each method, if the device has BusyBox installed.
Used Code-analysis rules
Basic & Advanced Microsoft-Rules for Accuracy
Microsoft-managed minimum & recommended rules
Microsoft Security Rules

Tested OS
Win Vista | 7 | 8 | 8.1 | 10 (32Bit/64Bit in VM-Ware)
Win 7 | 8 | 8.1 | 10 (64Bit Native)
Win XP is not longer supported by ADB! (But, if you have a old ADB binary, the dll will do it's job)

Tested Devices
Android x86
Android Emulator some Versions (min. 2.x) in AVD
HTC One M9 (non/-rooted)
HTC Sensation -/ XE (non/-rooted)
Samsung Galaxy 2-5 (non/-rooted)
Samsung Galaxy S Plus (non-rooted)
A few Samsung Tabs (non/-rooted)
Huawei P9 Lite (VNS-L21,22,23,31, etc.) (non-/rooted)
Huawei P10 Lite (WAS-LX1A, etc.) (non-/rooted)
Google Pixel 4 (Android 11) (non-/rooted)

Requirements
Android: min. 2.x
Platform: x86/x64 (Windows)
Frameworks: min. .NET 4.6 and JRE
(Installed ADB/Fastboot driver)

Download
Mirror: My FTP
Mirror: GoogleDrive
Mirror: DropBox
(Each zip-archiv contains the AndroidCtrl.dll, its markup file AndroidCtrl.xml and the program debug database AndroidCtrl.pdb for VisualStudio)

Examples
Mirror: My FTP
Mirror: GoogleDrive
Mirror: Dropbox
(Contains a simple exe and its source written in C# WPF)

Source
N/A (Currently closed)

Subcategories

How - To

Problems & Solutions