Jump to content
EduGeek EdSec 2026 is Go! 27th Oct in Derby! Join us for a day of EdTech security focused talks, networking, and an evening social ×

adb-enhanced - Swiss-army knife for Android testing and development


Recommended Posts

Posted

Website / Download & Install: sudo pip3 install adb-enhanced

 

Swiss-army knife for Android testing and development. A command-line interface to trigger various scenarios like screen rotation, battery saver mode, data saver mode, doze mode, permission grant/revocation.

 

List of things which this enhanced adb tool does

 

  • adbe.py [options] rotate (landscape | portrait | left | right)
  • adbe.py [options] gfx (on | off | lines)
  • adbe.py [options] overdraw (on | off | deut)
  • adbe.py [options] layout (on | off)
  • adbe.py [options] airplane (on | off)
  • adbe.py [options] battery level
  • adbe.py [options] battery saver (on | off)
  • adbe.py [options] battery reset
  • adbe.py [options] doze (on | off)
  • adbe.py [options] jank
  • adbe.py [options] devices
  • adbe.py [options] top-activity
  • adbe.py [options] dump-ui
  • adbe.py [options] mobile-data (on | off)
  • adbe.py [options] mobile-data saver (on | off)
  • adbe.py [options] rtl (on | off) - This is not working properly as of now.
  • adbe.py [options] screenshot
  • adbe.py [options] screenrecord
  • adbe.py [options] dont-keep-activities (on | off)
  • adbe.py [options] animations (on | off)
  • adbe.py [options] stay-awake-while-charging (on | off)
  • adbe.py [options] input-text
  • adbe.py [options] press back
  • adbe.py [options] open-url
  • adbe.py [options] permission-groups list all
  • adbe.py [options] permissions list (all | dangerous)
  • adbe.py [options] permissions (grant | revoke) (calendar | camera | contacts | location | microphone | phone | sensors | sms | storage)
  • adbe.py [options] apps list (all | system | third-party | debug)
  • adbe.py [options] standby-bucket get
  • adbe.py [options] standby-bucket set (active | working_set | frequent | rare)
  • adbe.py [options] restrict-background (true | false)
  • adbe.py [options] ls [-l] - A smart ls which automatically configures "run-as" for accessing files under app-private directories like /data/data/com.example/
  • adbe.py [options] pull [local] [-a] - A smart pull which automatically configures "run-as" for accessing files under app-private directories like /data/data/com.example/
  • adbe.py [options] start - Launches an Android app's default launcher activity, which in most cases corresponds to how a developer wants to start the app
  • adbe.py [options] stop - Force stop an application
  • adbe.py [options] restart
  • adbe.py [options] force-stop
  • adbe.py [options] clear-data
  • adbe.py [options] app-info
  • adbe.py [options] app-path
  • adbe.py [options] app-signature

List of things which this tool will do in the future

 

  • adbe b[ack]g[round-]c[ellular-]d[ata] [on|off] $app_name # This might not be needed at all after mobile-data saver mode
  • adbe app-standby $app_name
  • adbe wifi [on|off] # svc wifi enable/disable does not seem to always work
  • adbe rtl (on | off) # adb shell settings put global debug.force_rtl 1 does not seem to work
  • adbe screen (on|off|toggle) # https://stackoverflow.com/questions/7585105/turn-on-screen-on-device
  • adb shell input keyevent KEYCODE_POWER can do the toggle
  • adbe press up
  • adbe set_app_name [-f] $app_name
  • adbe reset_app_name
  • Use -q[uite] for quite mode
  • Add IMEI, IMSI, phone number, and WI-Fi MAC address to devices info command - I think the best way to implement this will be via a companion app. And while we are on that, we can implement locale change via the companion app as well.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...