mobium screen
This tool on every surface: CLI · MCP · Python · JavaScript · Go · Java · .NET
Read the screen, or make the device pretend to be a different one
A flow that works on the screen you happen to have is a flow tested once. This makes one Android device impersonate several, so the same flow can meet a small phone, a flagship, a tablet and an accessibility display size.
With no argument it reports the screen, whether an override is in force, and the profiles this platform knows.
An override outlives this command and the session: it is a state left on the device, so run "mobium screen reset" when you are done. Applying a profile invalidates the refs from the last map, because nothing is where it was.
On iOS the screen is fixed when the simulator is created and nothing can resize a running one, so this reads only and names the simulator to boot instead.
--inspect also reports what is wrong with the layout at this size: elements past the edge, touch targets below the platform minimum, text the platform truncated, and tappable elements with nothing to announce. Treat a touch-target finding as worth a look rather than as a defect: Android can enlarge a tap area without changing the element's bounds.
Usage
mobium screen [profile | reset] [flags]
Flags
| Flag | Type | Default | What it does |
|---|---|---|---|
--inspect | bool | also report layout findings at this screen |
And the global flags.
Examples
Read the screen: size, density, and the profiles it can pretend to be
mobium screen
Printed on an Android 15 emulator:
1080x2400px @420dpi = 411x914dp (sw411dp)
Pretend to be a small phone, and back
mobium screen small-phone && mobium screen reset
More, from mobium screen --help
mobium screen # what screen is this, really?
mobium screen small-phone # pretend to be a cheap phone
mobium screen display-size-large # the accessibility case
mobium screen --inspect # what is wrong at this size
mobium screen reset # put the device back
On a device

mobium screen small-phone on an Android 15 emulator
The tool
screen calls app_screen; its arguments and what every client calls it are there.