diff --git a/README.md b/README.md
index 5c3a6fdb..aa175a7b 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,13 @@
![Header](/media/header_v2.png?raw=true)
-## What is this?
-π Capture screen, manage apps, simulate input, print system log and more using simple commands!
+
-β‘οΈ Boost your effectivity while developing and/or testing mobile applications, discover new tools!
+## Why should I care?
+π **Control Android & iOS devices:** Capture screen, manage apps, simulate input, examine system logs etc.
+β‘οΈ **Speed++** Are you an app developer or a tester? Boost your effectivity, discover new tools!
+
+
+
## All features
@@ -19,21 +23,73 @@
π **Automatic update** - get new features and fixes ASAP
-## Feedback &Β contribution
-
-βοΈ [Submit issue](https://github.com/IntergalacticPenguin/mobile-toolkit/issues/new/choose) to report bugs, bring inspiration or simply ask questions
-
-π€ [Pull request contribution](https://github.com/IntergalacticPenguin/mobile-toolkit/blob/master/.github/CONTRIBUTING.md "contribution rules") **is highly appreciated, see** [Collossal Challenges](https://github.com/IntergalacticPenguin/mobile-toolkit/projects/3)
-
-βοΈ Love Mobile Toolkit? -> Hit the star button and bring me joy!
-
-π Connect with me on [LinkedIn](https://www.linkedin.com/in/intergalacticpenguin/) if you want :)
+## Table of contents
+π© Maybe you just want to skip to [Installation](#section-id-22)?
+
+[π€ Android Commands](#section-id-52)
+- [Capture screen](#section-id-54)
+ - [πΈ ascreenshot](#section-id-56)
+ - [π₯ arecord](#section-id-60)
+- [Control device](#section-id-66)
+ - [βοΈ apaste](#section-id-68)
+ - [π aurl](#section-id-78)
+ - [π΄ adarkmode](#section-id-82)
+ - [π atalkback](#section-id-85)
+ - [π abounds](#section-id-88)
+ - [π aanimationspeed](#section-id-92)
+ - [π afontscale](#section-id-96)
+ - [πΉ acontrol](#section-id-100)
+ - [π· acamera](#section-id-104)
+ - [β‘οΈ awireless](#section-id-107)
+- [Manage packages](#section-id-111)
+ - [π alaunch](#section-id-113)
+ - [π΅οΈ aappinfo](#section-id-118)
+ - [πͺ akill](#section-id-128)
+ - [𧽠aerase](#section-id-132)
+ - [π ainstall](#section-id-136)
+ - [π auninstall](#section-id-140)
+ - [π₯ awipe](#section-id-146)
+ - [π apermissionreset](#section-id-149)
+ - [π agoogleplay](#section-id-153)
+ - [π abuildproject](#section-id-157)
+- [Manage device](#section-id-161)
+ - [βοΈ aoptions](#section-id-163)
+ - [π alog](#section-id-176)
+ - [π acheckdevice](#section-id-180)
+ - [π aservices](#section-id-192)
+ - [β» areboot](#section-id-196)
+ - [π± aemulator](#section-id-199)
+ - [π atestmonkey](#section-id-215)
+
+
+[π iOS Commands](#section-id-233)
+- [Capture screen](#section-id-235)
+ - [πΈ iscreenshot](#section-id-237)
+ - [π₯ irecord](#section-id-241)
+ - [πΉ iquicktime](#section-id-250)
+- [Manage applications](#section-id-255)
+ - [π iinstall](#section-id-256)
+ - [π iuninstall](#section-id-260)
+ - [π ilaunch](#section-id-266)
+ - [πͺ ikill](#section-id-271)
+- [Manage device](#section-id-276)
+ - [βοΈ ioptions](#section-id-278)
+ - [π¬ ilang](#section-id-281)
+ - [π ilog](#section-id-285)
+ - [π icheckdevice](#section-id-288)
+ - [β» ireboot](#section-id-292)
+ - [π± isimulator](#section-id-295)
+ - [π₯ iconsole](#section-id-309)
+
+π Do you want to share [Feedback or Contribute](#section-id-312)?
+
+
# π» Installation
- Click to reveal step by step guide
+ Click here to reveal step by step guide β
-_Note: This repository is mainly focused on macOS compatibility, but majority of interactions should work on any Unix system._
+_Note: This tool targets macOS for compatibility, but most interactions should work on any Unix system._
1. **Open terminal**
2. **Clone this repository** `git clone https://github.com/IntergalacticPenguin/mobile-toolkit.git`
@@ -59,22 +115,34 @@ _Note: This repository is mainly focused on macOS compatibility, but majority of
-# π€ Android commands
+
+
+# π€ Android Commands
+
+
## Capture screen
+
+
### πΈ ascreenshot
* `ascreenshot` Save screenshot to ~/Desktop
* `ascreenshot -a` Take screenshot on all connected devices
+
+
### π₯ arecord
1. `arecord` Record screen
2. End recording using `ctrl + c`
3. Save screen video footage to ~/Desktop
* `arecord ` Specify your own filename by passing it as argument
+
+
## Control device
+
+
### βοΈ apaste
`apaste "john.doe@fakemail.com" password1 "5005 1002 3332 1112" "2/19" 5004`
@@ -85,46 +153,70 @@ _Note: This repository is mainly focused on macOS compatibility, but majority of
* `apaste -a ` Insert any text input (options displayed above) on all connected devices
* `apaste -a -l` Insert "Lorem Ipsum paragraph" on all connected devices
+
+
### π aurl
* `aurl "google.com"` Open link in web browser or corresponding application
* `aurl -a "google.com"` Open link in web browser or corresponding application on all connected devices
+
+
### π΄ adarkmode
* `adarkmode` Toggle system dark mode
+
+
### π atalkback
* `atalkback` Toggle TalkBack screen reader accessiblity option
+
+
### π abounds
* `abounds` Toggle UI layout bounds
* App restart may be necessary on lower APIs
+
+
### π aanimationspeed
* `aanimationspeed` set slower animation speed or restore default
* `aanimationspeed ` set animation speed multiplier
+
+
### π afontscale
* `afontscale` set large font scale (1.3x bigger than default) or restore default
* `afontscale ` set font scale multiplier
+
+
### πΉ acontrol
* `acontrol` start [scrcpy](https://github.com/Genymobile/scrcpy "scrcpy") session
* Provides realtime device screen mirroring and keyboard+mouse control
+
+
### π· acamera
* Start the default camera application
+
+
### β‘οΈ awireless
* Enable or disable wireless ADB connection
* Use ADB and toolkit without having USB cable attached
+
+
## Manage packages
+
+
### π alaunch
* `alaunch` List third-party apps and choose one to run it
* `alaunch -s` List all available apps (including os pre-installed) and choose one to run it
* `alaunch com.dummy.package.name.app` Run app by package name
+
+
### π΅οΈ aappinfo
* `aappinfo` List foreground app information
* Package name
@@ -135,41 +227,61 @@ _Note: This repository is mainly focused on macOS compatibility, but majority of
* (Optional) Open application settings
* `aappinfo com.dummy.package.name.app` Target specific app by passing package name as argument
+
+
### πͺ akill
* `akill` Restart the foreground app
* `akill com.dummy.package.name.app` Target specific app by passing package name as argument
+
+
### 𧽠aerase
* `aerase` Delete all local data of the foreground app and restart it
* `aerase com.dummy.package.name.app` Target specific app by passing package name as argument
+
+
### π ainstall
* `ainstall some-app-file.apk` Install and run .apk
* `ainstall -a some-app-file.apk` Install and run .apk on all connected devices
+
+
### π auninstall
* `auninstall` Uninstall third-party app, choose from the list
* `auninstall com.dummy.package.name.app` pass package name as argument
* `auninstall -w` Uninstall all-third party packages
* Skips some essential apps, edit IGNORED_PACKAGES in this script to customize the list to your needs
+
+
### π₯ awipe
* Wipe internal storage and delete all third-party apps
+
+
### π apermissionreset
* Revoke ALL GRANTED runtime permissions for ALL apps
* You'll have to handle permission requests upon opening almost any app
+
+
### π agoogleplay
* `agoogleplay "Dummy App"` Search for "Dummy App" on Google Play
* `agoogleplay` Search for currently foreground app on Google Play
+
+
### π abuildproject
* `abuildproject` Build, install and run Android project located in current directory
* `abuildproject ` Build, install and run Android project located in \
+
+
## Manage device
+
+
### βοΈ aoptions
* `aoptions` Open system settings on a specific activity
* You can choose from quick presets
@@ -183,10 +295,14 @@ _Note: This repository is mainly focused on macOS compatibility, but majority of
* `aoptions A` Choose from exhaustive list of all available options
* `aoptions 1,2,3... | dev | locale | date | wifi | storage | power` Use a preset, choose one
+
+
### π alog
* `alog` Print system log output
* `alog -f ` Filter log by package name
+
+
### π acheckdevice
* Print genereal device information
* Perform basic safety-checks and toggle "testing firendly" settings
@@ -199,13 +315,19 @@ _Note: This repository is mainly focused on macOS compatibility, but majority of
* enUS locale
* (Optional) Search for the device on [GSMArena](https://www.gsmarena.com/ "GSMArena")
+
+
### π aservices
* Print running background services
* Search for more information via Google
+
+
### β» areboot
* Reboot the device
+
+
### π± aemulator
**Required**: Make terminal use Android Studio Java
* **Edit .bash_profile** (or .zshrc if you have zsh shell) `open -e ~/.bash_profile` or `open -e ~/.zshrc`
@@ -222,6 +344,8 @@ _Note: This repository is mainly focused on macOS compatibility, but majority of
* `telnet ` - call command via telnet
* example commands `event | redir | sensor | physics | finger | rotate | fold | unfold...` see [Android emulator documentation](https://developer.android.com/studio/run/emulator-console#console-session) for more information
+
+
### π atestmonkey
* `atestmonkey` Default test with random seed and 15000 input events
* `atestmonkey ` Test with random seed and custom input event count
@@ -234,22 +358,30 @@ _Note: This repository is mainly focused on macOS compatibility, but majority of
*
Google Nexus 5 (Android 6)
You need to bring the app window to foreground, the button is located in bottom right corner.
-
+
*
Google Pixel 3 (Android 11)
You need to click on the app icon, the button is located in popup menu.
-
+
+
+
+
+# π iOS Commands
-# π iOS commands
+
## Capture screen
+
+
### πΈ iscreenshot
* `iscreenshot` Save screenshot to ~/Desktop
* `iscreenshot -a` Take screenshot on all connected devices
+
+
### π₯ irecord
-**Required**: Install [videosnap](https://github.com/matthutchinson/videosnap/releases "videosnap") -> download and install `videosnap-0.0.8.pkg`
+**Required**: Install [videosnap](https://github.com/matthutchinson/videosnap/releases "videosnap") -> download and install `videosnap-0.0.8.pkg`
**Required**: Install [ffmpeg](https://www.ffmpeg.org/ "ffmpeg") `brew install ffmpeg`
1. `irecord` Record screen
@@ -257,51 +389,77 @@ _Note: This repository is mainly focused on macOS compatibility, but majority of
3. Video footage is saved to ~/Desktop
4. File is compressed using ffmpeg
+
+
### πΉ iquicktime
* Run QuickTime and open video source picker (so you can choose a device right away)
* You may have to allow security system permission, so the script can access QuickTime application
* This is a fallback script for `irecord` on M1 macs as it is currently not working
+
+
## Manage applications
+
+
### π iinstall
* `iinstall some-app-file.ipa` Install .ipa (make sure to use properly signed build)
* `iinstall -a some-app-file.ipa` Install .ipa to all connected devices
+
+
### π iuninstall
* `iuninstall` Uninstall third-party app, choose from the list
* `iuninstall com.dummy.package.name.app` pass bundle name as argument
* `iuninstall -w` Uninstall all third-party packages
* Skips some essential apps, edit IGNORED_PACKAGES in this script to customize the list to your needs
+
+
### π ilaunch
* `ilaunch` List third-party apps and choose one to run it
* `ilaunch -s` List os pre-installed apps and choose one to run it
* `ilaunch com.dummy.bundle.id.app` Run app by bundle id
+
+
### πͺ ikill
* `ikill` List third-party apps and choose one to restart
* `ikill -s` List os pre-installed apps and choose one to restart
* `ikill com.dummy.bundle.id.app` Target specific app by passing bundle id as argument
+
+
## Manage device
+
+
### βοΈ ioptions
* `ioptions` Open system settings application
+
+
### π¬ ilang
* `ilang ` Change the device language to different one, according to ISO-639 (i.e. "cs")
* `ilang` Change the device language to different one, choose from a list of all supported
+
+
### π ilog
* `ilog` Print system log output
+
+
### π icheckdevice
* Print device information
* (Optional) Search for the device on [GSMArena](https://www.gsmarena.com/ "GSMArena")
+
+
### β» ireboot
* Reboot the device
+
+
### π± isimulator
* Simulator has limited functionality (no camera, biometrics, Appstore...), but **offers some extra options, unavailable on physical iOS devices**
* `isimulator ` Handle various simulator related activites
@@ -316,8 +474,18 @@ _Note: This repository is mainly focused on macOS compatibility, but majority of
* `battery <0-100>` - set battery level displayed in status bar (no functional impact)
* `time ` - set time displayed in status bar (no functional impact)
+
+
### π₯ iconsole
* `iconsole` Examine iOS or macOS system logs using Console application
-# π About
-**You can read about my motivation in this** [blog post](https://blog.thefuntasty.com/mobile-application-qa-capturing-the-evidence-a5115b0f2a4 "Mobile Application QA - Capturing the evidence"). If you made it this far in `README.md` and you like my work, please **star this repository**. Every appreciation empowers my motivation.
+
+
+----
+
+Feedback & Contribution
+
+βοΈ [Submit an issue](https://github.com/IntergalacticPenguin/mobile-toolkit/issues/new/choose) to report any bugs, request a feature or ask questions.
+π€ [Pull requests](https://github.com/IntergalacticPenguin/mobile-toolkit/blob/master/.github/CONTRIBUTING.md "contribution rules") are highly **appreciated**, see the [issue board](https://github.com/IntergalacticPenguin/mobile-toolkit/projects/3).
+π¬ Also visit my [NoMo](https://github.com/IGPenguin/nomo) project and leave a star.
+π Find me on [LinkedIn](https://www.linkedin.com/in/intergalacticpenguin/) or [Twitter](https://twitter.com/IGPenguin).
diff --git a/changelog.txt b/changelog.txt
index 4f74b909..f62814d4 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,17 +1,10 @@
- π New version 1.3.0!
- π¬ Feel free to open new issues or send feedback
- π https://github.com/IntergalacticPenguin/mobile-toolkit
+ π This is a new minor version 1.3.1!
- π Notable changes:
- π£ Substitued libimobiledevice with go-ios in all iOS scripts
- (Remove unused tools via `brew uninstall libimobiledevice && brew uninstall ideviceinstaller`)
- π Added ilaunch, ikill, ioption, ilang, atalkback, adarkmode
- π iinstall now runs the installed app automatically
- π§ββοΈ Reintroduced iquicktime as irecord fallback for M1 macs
- β°οΈ Removed icrashlogs (perhaps temporarily, depends on go-ios maintainer)
- π©Ή Fixed Android 12 foreground package detection
- β¨ Added new iOS device translations
+ π README.md was updated with table of contents and better formatting
+ github.com/IntergalacticPenguin/mobile-toolkit
- π¨ Action needed:
- β¨ Make sure to install new version of videosnap tool (if you haven't already)
- π https://github.com/matthutchinson/videosnap/releases/download/v0.0.8/videosnap-0.0.8.pkg
+ βοΈ Be among the first to check out my new project!
+ igpenguin.github.io/nomo
+
+ π₯ Stay tuned for new iOS commands or switch to
+ github.com/danielpaulus/go-ios
diff --git a/media/Pinning_Nexus_v3.png b/media/Pinning_Nexus_v3.png
deleted file mode 100644
index 4fd6e637..00000000
Binary files a/media/Pinning_Nexus_v3.png and /dev/null differ
diff --git a/media/Pinning_Nexus_v4.png b/media/Pinning_Nexus_v4.png
new file mode 100644
index 00000000..35afe33c
Binary files /dev/null and b/media/Pinning_Nexus_v4.png differ
diff --git a/media/Pinning_Pixel.png b/media/Pinning_Pixel.png
deleted file mode 100644
index f37a7cbf..00000000
Binary files a/media/Pinning_Pixel.png and /dev/null differ
diff --git a/media/Pinning_Pixel_v2.png b/media/Pinning_Pixel_v2.png
new file mode 100644
index 00000000..4d477c62
Binary files /dev/null and b/media/Pinning_Pixel_v2.png differ