explaingit

android-notes/shadowauto

Analysis updated 2026-05-18

51JavaAudience · developerComplexity · 4/5Setup · hard

TLDR

An Android prototype that lets an AI silently control real apps on a hidden virtual screen while you keep using your phone.

Mindmap

mindmap
  root((repo))
    What it does
      Background automation
      Virtual display
      AI tool calls
    Tech stack
      Java
      Android
      Svelte
    Use cases
      Task automation
      Phone assistant
    Audience
      Developers
      Automation tinkerers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Automate a repetitive task inside a mobile app without touching the phone yourself

USE CASE 2

Let an AI agent operate an Android app on a hidden virtual screen while you keep using the phone normally

USE CASE 3

Prototype an AI phone assistant that reads the screen and taps through real apps

What is it built with?

JavaAndroidSvelteNode.js

How does it compare?

android-notes/shadowautodatafusion-contrib/streamfusionjdubois/boot-ui
Stars514949
LanguageJavaJavaJava
Setup difficultyhardhardeasy
Complexity4/55/52/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Needs ADB debugging, a shell-level Android setup, and your own AI API key that supports tool calls.

In plain English

ShadowAuto is an open source prototype for Android phones that runs apps quietly in the background while you keep using your screen normally. It works by starting a special process through Android's developer tools known as adb, then launching a real Android app inside a hidden virtual display that the phone owner cannot see on the normal screen. An AI model then controls that hidden app the same way a person would: tapping buttons, typing text, scrolling, and reading what is on the virtual screen, while your actual screen stays free for you to use the phone as normal. To understand what is happening on the hidden screen, ShadowAuto reads the same information Android's accessibility tools use, listing windows, buttons, and text fields. When that information is missing or incomplete, it falls back to optical character recognition to read text directly from the screen image. The AI repeats a loop of choosing an action such as tap, type, scroll, go back, search, or wait, until the task is finished. The project has three main pieces: a shell process that lives on the phone and does the actual automation, a controller app used to type in a goal and watch progress, and a browser based launcher that lets you connect a phone over USB and start everything without touching a terminal. It works on any Android 10 or newer device, needs USB debugging turned on, and does not require the phone to be rooted. You also need your own key for an AI service that supports tool calls, since ShadowAuto sends the model instructions and receives back the actions to take. An example task shown in the project is asking the app to order food through a delivery app on your behalf. Multiple tasks can run at once, though the project notes that running too many at the same time can slow the phone down or make it warm. The interface and much of the documentation are available in both English and Chinese.

Copy-paste prompts

Prompt 1
Explain how ShadowAuto's shell process talks to the controller app over JSON-RPC and how I would set that connection up myself.
Prompt 2
Walk me through building and installing the ShadowAuto controller app and shell APK on my own Android device.
Prompt 3
Using ShadowAuto's tool-call loop, describe how I could add a new tool such as taking a screenshot beyond the ones already listed.

Frequently asked questions

What is shadowauto?

An Android prototype that lets an AI silently control real apps on a hidden virtual screen while you keep using your phone.

What language is shadowauto written in?

Mainly Java. The stack also includes Java, Android, Svelte.

How hard is shadowauto to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is shadowauto for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.