Android development with Junie (EAP)
Junie has first-class support for Android development. From the Junie CLI chat, the agent can drive an Android emulator (or a connected physical device): launch the app, render Jetpack Compose previews, inspect logcat and crashes, and tweak device state — all without leaving the conversation.
Android support comes from two layers that work together:
Built-in Android actions — shipped with the Junie IDE plugin and exposed to the Junie CLI via its JetBrains IDE integration. Available out of the box in Android Studio and in IntelliJ IDEA Ultimate with the Android and Android Design Tools plugins enabled.
android-engineerextension — Junie CLI extension that adds senior-engineer skills, a QA subagent, and the Mobile MCP server for UI interaction on top of the built-in actions.
Prerequisites
An IDE (2026.1+ version) with Android support:
Android Studio, or
IntelliJ IDEA Ultimate with the bundled Android and Android Design Tools plugins enabled.
The Junie IDE plugin installed in that IDE.
Junie CLI installed — this is what actually talks to the IDE and runs the agent.
The
android-engineerJunie CLI extension for the extended skill set, QA subagent, and Mobile MCP.
Set up the environment
Install the IDE: Android Studio, or IntelliJ IDEA Ultimate with the Android and Android Design Tools plugins enabled ().
Install the Junie IDE plugin in that IDE.
Install the Junie CLI and start it from the root of the Android project.
Install the
android-engineerextension via the/extensionscommand — see Add and configure extensions for details.
That is all the configuration Junie needs. There is no need to manage adb, build commands, or emulator setup manually — Junie handles those steps itself when the agent needs them.
Android capabilities
All Android capabilities below are available as soon as the IDE plugin and Junie CLI are installed. The agent picks them up automatically.
Emulators and devices
List connected devices and their state
List available AVDs, create a new AVD, and start and stop emulators on demand
App lifecycle
Run an Android entry-point end-to-end from the IDE Run Configuration in a single call — Junie takes care of build, install, and launch
Clear app data to start from a clean slate
Jetpack Compose preview
Render any
@Previewcomposable headlessly and return the rendered image to the agentRead the last rendered preview without re-running it
This lets Junie iterate on Compose UI visually: change code → render preview → check the image → adjust — all inside the chat, without opening the preview pane manually.
Diagnostics
Read and clear
logcat, scoped to the app under testFetch the last crash stack trace and Application Not Responding (ANR) traces
Device state
Grant or revoke runtime permissions for the app
Toggle device network (Wi-Fi / mobile data) on or off to test offline scenarios
Switch the device into dark mode or light mode
Install the android-engineer extension
android-engineer is a Junie CLI extension distributed via the built-in JetBrains marketplace. Install it with the /extensions command — see Add and configure extensions for the general extension workflow.
On top of the built-in Android capabilities it adds:
Skills —
android-implement,android-debug,android-build-fix,android-test,android-review, andandroid-qa. Each skill encodes a senior-engineer workflow (Kotlin-first, Jetpack Compose, Model-View-ViewModel (MVVM), Coroutines/Flow, Room, Retrofit, and Hilt).Agent
android-qa-agent— an autonomous QA subagent that runs scenarios on the emulator without modifying production codeMobile MCP server — registers
@mobilenext/mobile-mcp, which gives the agent a structured UI element tree plus taps, swipes, typing, orientation, and open-url controlsGuidelines — strict Kotlin/Compose/MVVM rules for new code