The Ultimate Guide to Cross-Platform Screenshot Mastery for Developers (+/- ADB)

Your app’s screenshots are its first impression — the visual hook that can make or break a user’s decision to download. In the crowded app…

Back to all articles

Your app’s screenshots are its first impression — the visual hook that can make or break a user’s decision to download. In the crowded app marketplace, compelling screenshots are essential. This guide cuts straight to the chase: we’ll show you how to eliminate distracting elements like emulator frames and platform-specific UI chrome, so your app’s unique design can take center stage.

___________________________________________________
 |  ▂▃▅▆█  📶  🔔  💬  🔋    🕒 10:30  ▂▃▅▆█  | <-- Status Bar
 |___________________________________________________|
 |                                                   |
 |    ___________________________________________    |
 |   |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒|   |
 |   |▒▒                                       ▒▒|   |
 |   |▒▒          Your Awesome App             ▒▒|   | <-- Your App's UI
 |   |▒▒                                       ▒▒|   |
 |   |▒▒                                       ▒▒|   |
 |   |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒|   |
 |    -------------------------------------------    |
 |                                                   |
 |      🔘            ⏪            ⏸️              | <-- Gesture Hint
 \___________________________________________________/
  |_________________________________________________|  <-- Emulator Frame

Important Note: This guide is for developers building apps with custom UIs that don’t strictly adhere to platform-specific design guidelines (like Material Design for Android or Human Interface Guidelines for iOS). If you’re aiming for a platform-native look and feel, this guide isn’t for you. We’re focusing on creating clean, consistent screenshots for apps that have their own unique visual identity, independent of platform conventions.

Emulators (Android) and simulators (iOS) are essential development tools, but their default settings are not set up for marketing screenshots. We’re focusing on practical techniques you can use right now, without resorting to command-line tools (but that is an option — see appendix).

Stripping Away the Android-isms

The Android Emulator is a powerful but visually noisy beast. Let’s tame it.

1. The Navigation Bar

First, we make the navigation bar disappear completely, using the emulator’s built-in settings.

⚙️ Steps:

  1. Open the emulator’s settings (either the “…” menu or the Settings app within the emulator).
  2. Find the navigation settings (usually under System > Gestures > System navigation, Display > Navigation bar, or a similar path).
  3. Switch to “Gesture navigation.” This changes the navigation controls to a much smaller bar (or a thin line).

Gesture Hint Bar

Gesture navigation often leaves a small “gesture hint” bar. On a Samsung emulator (mimicking a recent One UI version), you might be able to remove this hint:

1.  Install "Good Lock" (.
2.  Install the "NavStar" module.
3.  Enable "Enable extra gesture settings."
4.  Look for an option to turn off the "Gesture hint."

2. Status Bar

Next we need to hide the status bar completely. We’ll use the SystemUI Tuner app, without special permissions.

🧽 Steps:

  1. Install SystemUI Tuner on the emulator (com.zacharee1.systemuituner).
  2. Open the app and navigate to the “Status Bar” section.
  3. We recommend that you turn everything off, as most work without extra permissions.
Illustration from article
Illustration from article
SystemUI Tuner screen shots

SystemUI Tuner screen shots

🤔 Demo Mode: If no luck with SystemUI Tuner, then we have another option:

  1. Open emulator or device settings.
  2. Navigate to About Phone.
  3. Tap Build Number repeatedly, until it says, ‘You are a developer!’.
  4. Go back to System Settings.
  5. Find Developer Options.
  6. Enable ‘System UI demo mode’ and also ‘Show demo mode’.
https://remysharp.com/2016/12/17/chrome-remote-debugging-over-wifi
https://remysharp.com/2016/12/17/chrome-remote-debugging-over-wifi

3. Frame-Free Freedom: Removing the Device Outline

  • 🖼️ Goal: Completely hide the device frame.
  • 🖱️ Steps:
  1. In the emulator window, click the “…” (More) button on the toolbar.
  2. Go to “Settings.”
  3. Uncheck “Show window frame around device.”

iOS Simulator: A Simpler (But Still Important) Process

The iOS Simulator is generally less cluttered than the Android Emulator by default.

  • The iOS Simulator does not have a device frame to remove.
  • Status Bar: You cannot customize the iOS Simulator’s status bar without using command-line tools. It will be visible in your screenshots.

“It’s not just what it looks like and feels like. Design is how it works.” — Steve Jobs, co-founder of Apple Inc.

Taking the Actual Screenshot

After configuring the emulator/simulator:

  • 📸 Emulator/Simulator Built-in Tool: Click the camera icon on the toolbar.
  • 💻 System-Level Tool: Use your OS’s screenshot utility (Cmd+Shift+4 on macOS, Snipping Tool on Windows). While convenient, be mindful of potentially lower resolution.

Pro Tip: The built-in camera tool generally captures screenshots at the highest possible resolution for the emulated/simulated device. This is crucial for creating crisp, detailed images.

Limitations and Considerations

While this guide helps you create cleaner, more platform-agnostic screenshots, it’s important to acknowledge certain limitations:

  • Home Screen Icons: Showing your app’s icon on the device’s home screen won’t be cross-platform. Android and iOS have different icon shapes and styles.
  • Quick Actions (App Icon Menus): Long-pressing an app icon to reveal quick actions is also platform-specific.
  • Notifications: Displaying app notifications in your screenshots will inherently tie them to a specific platform.
  • Aspect Ratio and Orientation: This guide applies to various device sizes (phones and tablets) and orientations (portrait and landscape). However, aim for a relatively generic aspect ratio. Avoid extremely thin or wide aspect ratios.
  • Resolutions: This guide applies to any resolution, but try to aim for the recommended resolution for app stores.
  • GIF/MP4 Recording: Use system level recording.

Conclusion: Your App Deserves the Best Presentation

A polished screenshot signals quality. So, crafting clean, cross-platform screenshots is a worthwhile investment. It’s about presenting your app in its best light and showing users you care about the details.

Most developers know how to take a screenshot, but achieving cross-platform consistency takes extra effort. Inconsistent screenshots can undermine your app’s credibility.

“Good design is obvious. Great design is transparent.” — Joe Sparano, Graphic Designer

Appendix: Advanced Control with adb (Android Debug Bridge)

For developers comfortable with the command line, adb offers significantly more control.

Importantly, using adb commands provides an alternative to installing the SystemUI Tuner app and potentially setting up the Google Play Store and a user account on the emulator.

adb commands require the Android SDK Platform-Tools and adb in your system’s PATH.

Changes with adb might not persist across reboots, especially on Samsung devices.

Here are some key commands:

1. Immersive Mode (Hide Navigation and Status Bars Completely):

adb shell settings put global policy_control immersive.full=*

To revert:

adb shell settings put global policy_control null

2. Hide Only Status Bar:

adb shell settings put global policy_control immersive.status=*

3. Hide Only Navigation Bar:

adb shell settings put global policy_control immersive.navigation=*

4. Hide Gesture Hint (with NavStar on Samsung):

adb shell settings put global navigation_bar_gesture_hint 0

5. Alternative to Hiding Navigation Bar:

adb shell wm overscan 0,0,0,-168

6. Enable Demo Mode:

adb shell settings put global sysui_demo_allowed 1
adb shell am broadcast -a com.android.systemui.demo -e command enter

7. Configure Demo Mode (Examples):

  • Set battery to 100% and unplugged:
adb shell am broadcast -a com.android.systemui.demo -e command battery -e plugged false -e level 100
  • Set clock to 10:30:
adb shell am broadcast -a com.android.systemui.demo -e command clock -e hhmm 1030
  • Set Wi-Fi to Full Strength
adb shell am broadcast -a com.android.systemui.demo -e command network -e wifi show -e level 4

8. Exit Demo Mode:

adb shell am broadcast -a com.android.systemui.demo -e command exit

9. Grant SystemUI Tuner Permissions (for Full Functionality):

adb shell pm grant com.zacharee1.systemuituner android.permission.WRITE_SECURE_SETTINGS
adb shell pm grant com.zacharee1.systemuituner android.permission.PACKAGE_USAGE_STATS
adb shell pm grant com.zacharee1.systemuituner android.permission.DUMP

References:


Final Word 🪅

Illustration from article
saropa.com
Share this article

Your feedback is essential to us, and we genuinely value your support. When we learn of a mistake, we acknowledge it with a correction. If you spot an error, please let us know at blog@saropa.com and learn more at saropa.com.

Originally published by Saropa on Medium on March 15, 2025. Copyright © 2025