Skip to content
DocsAndroid
Docs / Recording / Android

Android

DemoTake Agent records an Android emulator or a USB phone straight from its screen through adb, logs every tap as a touch indicator, and lets your agent tap, type and swipe on the device.

DemoTake AgentEmulator or USB device

What you need

adb From Android Studio or the SDK platform-tools. DemoTake finds it in ANDROID_HOME, ANDROID_SDK_ROOT or ~/Library/Android/sdk; choose another in Settings → Recording → Android. It doesn't have to be on your PATH.
A device An emulator from Android Studio's Device Manager, or a phone with USB debugging on (allow this Mac on the phone the first time).
Edition DemoTake Agent. DemoTake Studio, from the Mac App Store, can't run adb: record the emulator's window there and keep it visible.

Screen Recording permission isn't needed for Android devices: DemoTake records the device itself.

Record a device

Start an emulator, or plug in a phone with USB debugging on. Open your app on it.

In Choose Window…, connected devices appear under Android with their Android version and screen size. Agents find them with targets_list as kind android and target id android:<serial>.

Record as usual. The emulator window can be covered, minimized or on another desktop; a phone can lie on your desk.

Shortcut: ⇧⌘R

DemoTake asks the device's own screen recorder for its picture over adb and writes the take on your Mac. Nothing is installed on the device and nothing is saved to its storage. Frames arrive whenever the screen changes, so a still screen costs almost nothing. On Android versions that stop a screen recording after three minutes, DemoTake starts the next one straight away.

Taps become touch indicators

Taps you make on the device, or with the mouse in the emulator, are logged as they happen and render as a touch indicator: a soft circle with a ripple instead of a Mac arrow. A swipe is logged as a scroll. In 9:16 exports the device gets a phone frame, like iOS takes (Framing).

Let your agent drive

DemoTake Agent can operate the device for your agent, through adb, without touching your Mac's mouse:

Tool On Android
pointer_click A tap on an element (found in the app's UI hierarchy, or by its text on screen) or a point; button: "right" is a long press
keyboard_type Types into the focused field, or taps the field first
keyboard_key back, home, recents, return, arrows, ctrl+a (Android 13 and later) or any KEYCODE_…
pointer_scroll A swipe
observe_state The UI hierarchy: classes, texts, resource ids and frames

Apps that draw their own UI (many games, Flutter apps) have no readable hierarchy; DemoTake then reads the text on screen instead. Password fields are never shown in observe_state or the trace.

You can also drive the device with your own tools (adb, Appium, Maestro). Log each tap with take_log_event { "kind": "click", "point": { "x": 0.5, "y": 0.8 } } (normalized to the screen) or device_point in dp.

Store screenshots

screenshot_capture with target: "android:<serial>" captures the device at full resolution for the Google Play sizes; see Store screenshots.

Was this page helpful?