Skip to content

joeyparrish/backpacker

Repository files navigation

Backpacker icon Backpacker

An Android app that automates Pokéstop spinning in Pokémon GO. It uses Android's MediaProjection API to watch the screen and an AccessibilityService to inject swipe gestures — no root, no network interception, no game file modification.

Warning

Automating game actions may violate Niantic's Terms of Service. Use at your own risk.


Installation

From a GitHub Release (recommended)

  1. On your Android device, open Settings → Security (or Apps → Special app access → Install unknown apps) and allow installs from your browser or file manager.
  2. Download the latest APK from the Releases page.
  3. Open the downloaded file and tap Install.

From Source

git clone https://github.com/joeyparrish/backpacker.git
cd backpacker
./gradlew assembleDebug
# APK is at app/build/outputs/apk/debug/app-debug.apk

Install via ADB:

adb install app/build/outputs/apk/debug/app-debug.apk

Setup

Open Backpacker. The Backpacker Setup section at the top is expanded automatically when any step is incomplete (collapsed when all are done — tap the heading to toggle it).

Work through the three setup steps:

  1. Enable Gesture Service — tap the button to open Accessibility Settings, find Backpacker Gesture Service, and enable it.
  2. Allow Notifications — required to keep the background service alive.
  3. Disable Battery Optimization — prevents Android from killing the service while the screen is off.

Once all steps are done, toggle Overlay enabled in the Automation section. A system dialog will ask for screen-capture permission — tap Start now. A small floating button will appear on screen.


Usage

Open Pokémon GO and use the floating button to control automation:

Button state state Meaning
Cyan pokestop icon (dim) Idle — not running
Red house icon Stationary mode — scans once per minute
Red car icon Moving mode — scans once per 2 seconds

Tap the button to cycle through states. Drag it to reposition.

When a Pokéstop disc is detected, the app taps it, swipes the spinner, and taps back to the map automatically. Session spin count and a lifetime total are tracked and shown in the main app.

Debug modes (in the Backpacker app)

All debug modes are mutually exclusive. Enabling one clears the others. Debug flags are cleared when the overlay is turned off.

  • Debug scan — captures one screenshot, highlights detected Pokéstop disc positions with bounding boxes, shows the result as a full-screen overlay. Useful for tuning detection thresholds.
  • Debug spinner — captures one screenshot and reports whether the spinner ring is cyan (ready), purple (already spun), or absent (wrong screen).
  • Debug passenger — captures one screenshot and reports whether the speed-warning dialog's green pill button is detected. Useful for checking false-positive rates across different game screens.
  • Save screenshots for failures — saves a PNG to Pictures/Backpacker whenever the engine taps a disc but finds nothing recognisable on screen (wrong tap target). Keeps the last 30 files.

The first three modes disable "moving" mode (the button only offers "idle" and "stationary") and are one-shot: one tap captures one screenshot, then the overlay resets to idle.

Debug logging

adb logcat | grep Backpacker

Requirements

  • Android 8.0+ (API 26)
  • Pokémon GO installed

License

MIT — Copyright 2026 Joey Parrish

About

An Android app that automates Pokéstop spinning in Pokémon GO. No root, no network interception, no game file modification. Automating game actions may still violate Niantic's Terms of Service. Use at your own risk.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors