/DroidShoter

GUI tool for making screenshots with adb

Primary LanguageJava

DroidShoter

DroidShoter is a tool for Android apps development / testing which makes screenshots for different screen sizes and resolutions using just one connected device or emulator.

Main screen

How it works

DroidShoter picks up display parameters (resolution and density) from any connected device and uses them to create screen parameters queue for further job. After "Start" button is clicked DroidShoter will start changing display parameters and making screenshots.

Installation

  1. Install Java (JRE) or Java (JDK)

  2. Enable "USB debugging" on your device.

  3. Install adb tool. OS X and Linux or Windows. If you are using Windows be sure to install drivers too (part of the installer from link). No need to install fastboot. You can check adb installation using "adb version" terminal command

  4. Launch DroidShoter.jar either by double-clicking or by executing "java -jar DroidShoter.jar" from the terminal

Download

Download the latest version from the releases section.

Job parameters

Output directory - directory used to store screenshots (relative or absolute path)

Filename prefix - screenshot filename prefix. Filename pattern: [prefix][width]x[height]_[density]

Sleep time, Ms - Sleep time before making a screenshot after display parameters were changed. Use it to give some time for activity to be prepared (draw layouts, request data fom backend).

Modes - list of display modes. Calculated based on device's display parameters. Uncheck some modes if you want to skip them. DroidShoter saves last modes parameters for each device. Useful when you need to skip any mode when app cannot be displayed with it (you will see with some blank screenshots or some other troubles)

Features

  • Automatically detects devices plugging in. No need to restart

  • Saves unchecked modes for every device

  • Support real devices and emulators

  • Reset button can be used if something went wrong and your device did not come back to the origin display params. I did not face this during normal operation but you can get into this by unplugging the device in the middle of the job

  • Tries to find Adb location with ANDROID_HOME environment variable or shows a file picker if the adb was not found. Path to the adb is saved so you do not need to find it every launch

  • Cancel button can be used to stop the job. Automatically resets device display parameters

Known issues

  • !!! Be carefull when using DroidShoter with a Samsung Tab S (SM-T700), Android 5.0.2. I have a report that the device was rebooted in the middle of the job and could not be started until it was hard resetted.

  • May have some troubles with picking up default display parameters for some devices with Android older than 4.3. In this case you will not be able to start the job unfortunately.

  • System UI (status bar and bottom buttons layout) may have a wrong size after changing the display parameters. Can't do anything here.

Issues tracker

Feel free to create issues on Github

Future improvements

  • Localisation change support

  • Orientation change support

  • Automatically launch different screens

  • CI systems support

Output samples

License

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.