Swiss-army knife for Android testing and development
Project description
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.
Release announcement
Installation
sudo pip3 install adb-enhanced
Note
sudo pip install adb-enhancedfor python2 based install works as well but I would recommend moving to python3 since I might deprecate python2 support at some point.- If you don't have sudo access or you are installing without sudo then
adbemight not be configured correctly in the path.
Examples
-
Launch an app
adbe start com.example -
Kill an app
adbe force-stop com.example -
Clear app data - equivalent of uninstall and reinstall
adbe clear-data com.example -
Turn doze mode on
adbe doze on -
Turn mobile-data off
adbe mobile-data off -
Turn on battery saver
adbe battery saver on -
Don't keep activities in the background
adbe dont-keep-activities on -
Grant storage-related runtime permissions
adbe permissions grant com.example storage -
Revoke storage-related runtime permissions
adbe permissions revoke com.example storage -
ls/cat any file without worrying about adding "run-as"
adbe ls /data/data/com.example/databases# Works as long as com.example is a debuggable package -
Detailed device info including model name, Android API version etc, device serial
$ adbe devices Serial ID: dcc54111 Manufacturer: OnePlus Model: ONEPLUS A5000 (OnePlus 5T) Release: 8.1.0 SDK version: 27 CPU: arm64-v8a Serial ID: emulator-5554 Manufacturer: unknown Model: Android SDK built for x86 Release: 4.4.2 SDK version: 19 CPU: x86
Usage
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 <percentage>
adbe.py [options] battery saver (on | off)
adbe.py [options] battery reset
adbe.py [options] doze (on | off)
adbe.py [options] jank <app_name>
adbe.py [options] devices
adbe.py [options] top-activity
adbe.py [options] dump-ui <xml_file>
adbe.py [options] mobile-data (on | off)
adbe.py [options] mobile-data saver (on | off)
adbe.py [options] rtl (on | off)
adbe.py [options] screenshot <filename.png>
adbe.py [options] screenrecord <filename.mp4>
adbe.py [options] dont-keep-activities (on | off)
adbe.py [options] animations (on | off)
adbe.py [options] input-text <text>
adbe.py [options] press back
adbe.py [options] open-url <url>
adbe.py [options] permission-groups list all
adbe.py [options] permissions list (all | dangerous)
adbe.py [options] permissions (grant | revoke) <app_name> (calendar | camera | contacts | location | microphone | phone | sensors | sms | storage)
adbe.py [options] standby-bucket get <app_name>
adbe.py [options] standby-bucket set <app_name> (active | working_set | frequent | rare)
adbe.py [options] restrict-background (true | false) <app_name>
adbe.py [options] ls [-l] [-R] <file_path>
adbe.py [options] pull [-a] <remote>
adbe.py [options] pull [-a] <remote> <local>
adbe.py [options] cat <file_path>
adbe.py [options] start <app_name>
adbe.py [options] stop <app_name>
adbe.py [options] force-stop <app_name>
adbe.py [options] clear-data <app_name>
adbe.py [options] app-info <app_name>
adbe.py [options] print-apk-path <app_name>
Options
-e, --emulator directs the command to the only running emulator
-d, --device directs the command to the only connected "USB" device
-s, --serial SERIAL directs the command to the device or emulator with the given serial number or qualifier.
Overrides ANDROID_SERIAL environment variable.
-l For long list format, only valid for "ls" command
-R For recursive directory listing, only valid for "ls" command
-v, --verbose Verbose mode
Python3 compatibility
As of Nov 27, 2017, the code is python3 compatible, and as of Jan 18, 2018, pip (python package manager) has the updated version.
Note: The inspiration of this project came from android-scripts.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file adb-enhanced-1.8.2.tar.gz.
File metadata
- Download URL: adb-enhanced-1.8.2.tar.gz
- Upload date:
- Size: 335.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7b127a7d699790c4c34a6bc33b66e2f8db962b69740714b8c28c15a0dcf613a
|
|
| MD5 |
716bcae83dd9827518b1f4b7b6c57609
|
|
| BLAKE2b-256 |
c7133a362c932c9c4475394e5f61926a6cdc736132722901b7910900a8f19951
|
File details
Details for the file adb_enhanced-1.8.2-py3-none-any.whl.
File metadata
- Download URL: adb_enhanced-1.8.2-py3-none-any.whl
- Upload date:
- Size: 334.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f16a1aa5aeeeb8a1a2cbeccc84787038adfbe270f3be467cd2fb0e9bc05644d9
|
|
| MD5 |
352361417efa4fa2a6229cc5b2a96ba2
|
|
| BLAKE2b-256 |
8bfa8bc382b2989da60e06ceb90d0aee585df1674c5c228e8717ed6636a990ea
|