A TinyTask-style tap recorder/player for Android: record a sequence of taps, then replay them at 1x / 2x / 5x / a custom speed multiplier — no root required.
- Recording: a transparent full-screen overlay captures your touches (position + hold duration + delay since the previous tap) while instantly replaying each one to the app underneath via Android's Accessibility gesture API, so you see it register live as you tap.
- Playback: the same Accessibility Service replays the recorded taps with their delays divided by your chosen speed multiplier.
- Controller: a small draggable floating bubble (Record / Stop / Play / Speed / Save) that stays on top of whatever app you're automating.
No root is used or required. This relies entirely on the public
AccessibilityService + dispatchGesture API.
- Install Android Studio (free, from developer.android.com).
File → Open, select thisTapMacrofolder.- Let Android Studio sync Gradle.
Build → Build Bundle(s)/APK(s) → Build APK(s).- Grab the APK from
app/build/outputs/apk/debug/app-debug.apk.
This repo includes .github/workflows/build.yml, which builds the APK on
GitHub's servers — no SDK install on the phone needed. Push this project to
a GitHub repo (e.g. from Termux with git), then check the Actions tab
in your repo on github.com for the built APK under the workflow run's
Artifacts.
- Open Tap Macro, tap "Enable Accessibility Service" → find "Tap Macro" in the list → turn it on.
- Tap "Allow Draw Over Other Apps" → grant the permission.
- Tap "Start Floating Controller" — a small bubble appears on screen.
- Open the app/game you want to automate. Drag the bubble wherever's
convenient (drag the
⠿ Tap Macrohandle). - Tap Rec, perform your taps, tap Stop.
- Pick a speed (1x / 2x / 5x / Custom) from the dropdown.
- Tap Play to replay the sequence at that speed. Tap Save if you
want to keep the macro (stored as JSON under the app's private storage —
wire up a "load" screen in
MainActivityif you want to browse/replay saved macros later;MacroStorage.list()/load()are already there).
- Works system-wide (any app), since gestures are dispatched at the OS level via Accessibility — but some apps with strong anti-automation/anti-cheat protections may detect or block synthetic gestures.
- Coordinates are recorded in absolute screen pixels, so a macro recorded on one device/resolution won't line up correctly on a different device.
- The custom speed dialog accepts any positive multiplier (e.g.
0.5for half speed,10for 10x).