The Accessibility Service is the core permission for MacroAI on Android. It's used for:
If you don't enable it: the script can't perform any tap/swipe actions — it's like "having a brain but no hands".
How to enable it:
The exact path differs by phone brand (Huawei/Xiaomi/OPPO/vivo each vary). MacroAI will try to jump directly to the corresponding settings page for you.
On Android, both MacroAI's editor and run controls float on top of other apps (because your automation target is another app/game, and MacroAI can't take up the whole screen).
The floating window permission lets MacroAI:
If you don't enable it: MacroAI can't display any interface on top of other apps, and both the editor and run controls become unusable.
How to enable it: Settings → Apps → MacroAI → Floating window (or "Display over other apps") → Allow.
No, it can't be skipped — this is a mandatory Android system requirement.
MacroAI needs to capture the screen to perform image recognition, OCR, color detection, and so on. Android requires that any app capturing the screen must obtain explicit user authorization (the MediaProjection API), and must re-authorize every time the service starts.
This is a system security mechanism that MacroAI cannot bypass.
The good news:
This is caused by the background management policies of many Android phones (Huawei/Xiaomi/OPPO/vivo/Honor) — to save battery, the system automatically "kills" background services.
Solutions (by brand):
Extra tip: "lock" MacroAI in the recent tasks / multitasking view (usually by pulling down or long-pressing to lock it) to prevent it from being cleared by a one-tap cleanup.
The Android editor isn't a standalone screen — it appears as a floating bubble on top of other apps.
How to open it:
Why is it designed this way? Because you need to see the target app/game's screen while editing your script. If the editor took up the whole screen, you wouldn't be able to see the target you're automating.
The bubble can be dragged around, and when you're not using it, it can be collapsed to a very small size so it doesn't block the view.
Most core nodes are supported on both platforms, but there are differences:
Supported on both:
Where they differ:
When importing, incompatible nodes are automatically skipped — they won't cause the whole script to fail.