@_philschmid: https://x.com/_philschmid/status/2089351795369718238
Summary
This article describes how Gemini 3.7 Flash, a hybrid reasoning model, enables interactive Android control through Python scripts by analyzing screenshots and executing precise actions, demonstrated via Wordle game automation.
View Cached Full Text
Cached at: 08/17/26, 04:31 PM
Controlling Android with Gemini 3.7 Flash and 150 lines of Python
Last week we launched Gemini 3.7 Flash, our first hybrid reasoning model built for coding and agentic workflows.
Its multimodal reasoning and fast turn-by-turn latency make it uniquely suited for Computer Use. Instead of waiting several seconds between taps, the model inspects screenshots, plans the next step, and emits precise coordinates fast enough to keep device control loops interactive.
To test this on a real mobile interface, I gave it a task: “play 1 round of Wordle at wordle.global/en/unlimited”.
Running on an Android emulator, it opened Chrome, cleared tutorial popups, played an opening word, read the color-coded feedback with thinking, and solved the game in 2 guesses.
Running on an Android emulator, it opened Chrome, cleared tutorial popups, played an opening word, read the color-coded feedback with thinking, and solved the game in 2 guesses.
The problem with mobile automation
Mobile test automation has been painful for 15 years. Appium, Espresso, and UIAutomator all depend on accessibility trees, element IDs, and XPath selectors. When a product team runs an A/B test, redesigns a checkout card, or adds a marketing banner, the test script breaks.
Webviews and dynamic canvas games are even worse because they often expose zero accessibility nodes to ADB.
Gemini 3.7 Flash allows you to approach this almost human like. The model looks at the raw screenshot, figures out where elements sit, and returns normalized 0–999 coordinates for clicks, text input, and key presses.
How the agent loop works
The Agent connects to an Android emulator over ADB and runs a continuous loop:
-
Capture: ADB takes a screenshot (adb exec-out screencap -p) and encodes it as Base64.
-
Evaluate: Gemini 3.7 Flash inspects the image and plans its next move.
-
Emit action: Gemini returns a tool call with normalized coordinates and intent (e.g. click(x=884, y=190)).
-
Execute: The Python script maps 0–999 to physical pixels (1080x1920) and fires adb shell input tap
. -
Continue: The client grabs a fresh screenshot and sends it back in function_result with previous_interaction_id.
The full implementation, including the ADBBridge coordinate scaler, device setup scripts, and CLI runner, is in the gemini-android-computer-use-quickstart repository.
Example: Playing 1 round of Wordle
Here is what happened during the Wordle session.
1. Launch and navigation
The agent started on the home screen, opened Chrome by package name, opened a new tab, and typed the URL:
2. Clearing modal overlays
Two popups blocked the game board on page load: a “How to Play” tutorial and a stats dialog. The model spotted the close icons and clicked them:
3. Playing guess 1 (CRANE)
With a clear board, it typed a standard vowel-heavy opener: C - R - A - N - E.
4. Reading tile colors with thinking
The game returned feedback:
-
C turned yellow (in the word, wrong spot).
-
R, A, N turned gray (not in the word).
-
E turned green (correct spot at index 5).
Gemini checked words ending in E that contain C somewhere in the middle without R, A, or N. It picked SPICE:
All 5 tiles turned green. The model saw the victory popup and stopped:
What you can build with this
Wordle is a clean visual benchmark, but the underlying loop works for any Android application.
You can use this for automated UI testing, user flow verification, exploratory bug reproduction, or general task automation. Because the model operates on raw screenshots, it works across native Android apps, webviews, and dynamic canvas interfaces without relying on accessibility IDs or DOM trees.
The complete quickstart with the emulator setup script, ADB bridge, and CLI runner is open source:
-
GitHub repo: google-gemini/gemini-android-computer-use-quickstart
-
Interactions API overview: Interactions API Docs
-
Computer Use guide: Computer Use Guide
-
Thinking documentation: Thinking in Gemini 3.7
Similar Articles
@_philschmid: https://x.com/_philschmid/status/2070176665045434477
A guide and Python script for controlling an Android emulator using Gemini 3.5 Flash's Computer Use capability, which allows the model to view screenshots and return actions (taps, clicks, text input) to be executed via ADB.
@_philschmid: Yesterday we launched computer use in Gemini 3.5 Flash with browser, mobile, and desktop environments. I put together a…
Phil Schmid announces the launch of computer use in Gemini 3.5 Flash, enabling control of browser, mobile, and desktop environments, with a quickstart guide for controlling Android phones via adb.
@_philschmid: Gemini 3.7 Flash is so fast that it can generate entire interactive websites in real time as you browse. Type URL or id…
Gemini 3.7 Flash demonstrates the ability to generate interactive websites in real-time based on user input, showcasing its speed and capabilities in AI-driven web development.
@_philschmid: Cool Test!
Discussion about Gemini 3.5 Flash's impressive image reasoning capabilities, highlighting its ability to reason about visual content beyond simple object labeling.
Computer use in Gemini 3.5 Flash
Google announces that computer use is now a built-in tool in Gemini 3.5 Flash, enabling developers to build agents that can see, reason, and take action across browsers, mobile, and desktop environments.