Skip to main content

Droid is a remote communication application created to communicate with Android devices on the local network over the Android debug bridge (adb). Available as a CLI or GUI.

Project description

Droid

Droid is a desktop application created to communicate with Android devices on the local network over the Android debug bridge (adb). You can access the Android device directly over USB or connect to the device through Droid via adb. Droid allows you to completely control the Android device using multiple options, including a CLI and a GUI.

IMPORTANT NOTE: Application does require Android debug bridge (adb) to be installed on the system.

Install

Droid can be installed via pip

pip install droid

You can also download the executable from itch.io: https://battleoverflow.itch.io/droid

GUI

If you would like to run the GUI, you can run this command to boot it up

droid

# or

droid -g

Current state of the user interface

Simple usage (CLI)

droid -ip 127.0.0.1 -c

Options

-h,   --help	    |	Help menu
-v,   --version	    |	Version information for Droid
-ip,  --ip_address  |   IP address of the Android device
-up,  --upload      |   Absolute path of the APK to upload (ex: ~/Downloads/ApkName.apk)
-rm,  --remove      |   Removes the old APK with the same package name (requires the -p flag)
-c,   --connect     |   Connects to the Android device (requires the -ip flag)
-d,   --disconnect  |   Disconnects from the Android device
-r,   --reboot      |   Remotely reboots the Android device
-p,   --package     |   The package name of the APK you would like to replace (ex: com.android.ui)
-dn,  --download    |   Download a file from the Android device
-f,   --file        |   Name of the file on your local machine (ex: ~/Downloads/ApkName.apk)
-fs,  --file_system |   Name & location of the file on the Android device
-loc, --location    |   Location on the Android device to push or remove the selected file (ex: /sdcard/Downloads)
-rmf, --rmfile      |   Remove a file from the Android device (set the absolute path using -loc)
-bl,  --bluetooth   |   Start or stop bluetooth service for the Android device
-w,  --wifi         |   Start or stop wifi service for the Android device
-s,  --screenshot   |   Take a screenshot of the current Android screen
-o,  --output       |   Name of the output file when taking a screenshot (omit the extension)
-l,  --log          |   Outputs Logcat logs in real time to a set file
-g,  --gui          |   A graphical user interface built to communicate with an Android device
-co   --content     |   Update a file on the Android device without downloading it

I would recommend running this command before doing anything else to confirm you can successfully connect to the Android device on your network

droid -ip 127.0.0.1 -c

Example(s)

This example connects to the Android device (127.0.0.1), removes the specified APK package (com.android.ui), and then uploads a new APK called test_apk_v1.apk

droid -ip 127.0.0.1 -c -rm -p com.android.ui -up ~/Downloads/test_apk_v1.apk

This example downloads a test images from the Android device onto your local machine (automatically saves it in the ~/Downloads folder on most platforms)

droid -ip 127.0.0.1 --download /sdcard/cool_pic.png

Once you're finished working within the environment, you can run this command to disconnect from the Android device:

droid -ip 127.0.0.1 -d

We now have the option to control the bluetooth service on Android devices. You can start the service by running this command (stopping the service uses the stop argument):

droid -ip 127.0.0.1 -bl=start

You can stop the service by running this command (starting the service uses the start argument):

droid -ip 127.0.0.1 -w=stop

NOTE: When turning the wifi off, if you are communicating with the Android device remotely, this will result in the device being disconnected and unusable until the network is re-established.

This command will take a screenshot of the current Android screen while monitoring Logcat in real-time:

droid -ip 127.0.0.1 -sl -o screenshot

More Info

A wiki for common Android snippets is also available. This wiki shows examples of how Droid can used with the Android operating system

Wiki: https://github.com/battleoverflow/droid/wiki/Helpful-Android-Snippets

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

droid-1.4.22.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

droid-1.4.22-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file droid-1.4.22.tar.gz.

File metadata

  • Download URL: droid-1.4.22.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/0.10.1 urllib3/1.26.12 tqdm/4.65.0 importlib-metadata/6.0.0 keyring/23.13.1 rfc3986/1.5.0 colorama/0.4.6 CPython/3.11.7

File hashes

Hashes for droid-1.4.22.tar.gz
Algorithm Hash digest
SHA256 0f71f746e2a83218e20046a15adeed214eb33952e5cdb2622aef3328c69978f7
MD5 55e609505ecdd8367e50266c7a625cdc
BLAKE2b-256 6786bdbdf0a007ce6eeba9a461afd8256d90130caa893707c123189d6a28e374

See more details on using hashes here.

File details

Details for the file droid-1.4.22-py3-none-any.whl.

File metadata

  • Download URL: droid-1.4.22-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/0.10.1 urllib3/1.26.12 tqdm/4.65.0 importlib-metadata/6.0.0 keyring/23.13.1 rfc3986/1.5.0 colorama/0.4.6 CPython/3.11.7

File hashes

Hashes for droid-1.4.22-py3-none-any.whl
Algorithm Hash digest
SHA256 fc178c978d7e333253de73e915124bb0e9c63d2ae857b02ce80dba69a525da03
MD5 adfd0f5b2f4b3de665191f7861e4dac7
BLAKE2b-256 3a6c95cff0567228e7b3c47073399dd93590aeed89c2f165d69249684897ded6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page