AdbAutoPlayer
AdbAutoPlayer is a tool that helps you bot Android games. It can do boring or daily tasks for you—like collecting rewards, tapping buttons, or repeating stages—automatically.
It works by using ADB (Android Debug Bridge), which lets your computer control an Android phone, tablet, or emulator.
important
This tool only works with Android apps. You must use:
- An Android emulator (like MumuPlayer, BlueStacks 5), or
- A real Android phone or tablet
It does not work with:
- iOS devices (iPhone, iPad)
- Official PC or cloud versions of games
Features
- Bots for some mobile games included
- Easy to set up and run
- Can handle daily quests, farming, and other repetitive actions
Compatibility
-
Tested on:
- Windows with MumuPlayer and BlueStacks 5
- Apple M1 Max using BlueStacks Air
Download
important
Please check the user guides on the left before using the tool.
Contact
AFK Journey
Discord: Yaphalla
Channel: adb-auto-player
General
Emulator Settings
important
Cloud Emulators like BlueStacks X cannot be used
BlueStacks 5 (Windows) & BlueStacks Air (MacOS)
Emulator Settings
- Display:
- Display Resolution: Select Portrait (1080 × 1920).
- Advanced:
- Android Debug Bridge (ADB): Enable this.
MuMuPlayer (Windows)
note
MuMuPlayer does not require enabling ADB in settings.
Emulator Settings
- Display:
- Resolution Setting: Select Mobile Mode (1080 × 1920).
AdbAutoPlayer General Settings
Device ID: 127.0.0.1:7555
LDPlayer (Windows)
Emulator Settings
- Display:
- Resolution: Select Phone (1080 × 1920).
- Others:
- ADB Debugging: Enable Local Connection.
AdbAutoPlayer General Settings
Device ID: emulator-5554
MuMuPlayer Pro (MacOS)
warning
I suggest using BlueStacks Air instead because it's free.
Emulator Settings
- Display → Display Size Phone:
- Set Device Display to 1080 × 1920.
- Other:
- Enable ADB: Select Try to use the default port (5555).
Real Phone Guide
important
I do not plan to provide extensive support for real phone automation because I do not actively use it myself.
I recommend using an emulator instead and referring to Emulator Settings.
However, I will accept Pull Requests.
General
Enable Resize Display
it will change your Display Size to the suggested Resolution when the bot starts.
When you are done you can use the Reset Display Size
button to revert your Display Size to the original Resolution.
Windows Setup Guide
This guide will walk you through setting up AdbAutoPlayer on Windows.
important
Check Emulator Settings if you haven't already!
Installation
- Download the App
- Get the latest release of AdbAutoPlayer: AdbAutoPlayer_Windows.zip
- Extract the contents of the
.zip
file to a folder on your computer.
Starting AdbAutoPlayer
When launching AdbAutoPlayer, Windows Defender SmartScreen may block the application. To proceed:
- Click the More info link.
- Click the Run anyway button that appears.
- Wait for the application to start.
Windows Security pop up
If this pop up appears simply click Allow. If you want more info read here: ADB (Android Debug Bridge)
Continue to the Troubleshooting Guide
macOS Setup Guide
We are not publishing a macOS build because of a lack of Apple Developer Certificate. If anybody wants to share theirs to sign the .app bundle with please reach out.
You can follow the steps in the Dev & Build page to build the app locally.
Troubleshooting
General try disabling Device Stream
If Device Streaming is active try unchecking it and see if your problem goes away.
If your problem does NOT go away activate it again.
Emulator
note
Test both MumuPlayer and BlueStacks 5
[ERROR] Device: 127.0.0.1:5555 not found
If you have multiple BlueStacks instances only the first one uses Port 5555.
You can try updating the Device ID 1 at a time depending on how many instances you have:
- 127.0.0.1:5555
- 127.0.0.1:5556
- 127.0.0.1:5557
- ...
This bot only works in Portrait mode
- Please double-check your Emulator Settings.
- If the game automatically switches to Landscape on start, use the Rotate Menu and select Portrait.
Missing files
This issue usually occurs due to one of the following reasons:
- Windows Security or another Antivirus software flagged a false positive and deleted/quarantined one or more files. Learn more about false positives.
- An error occurred during the update process, preventing all files from being properly installed.
- You didn’t extract all files from the .zip or moved the .exe to a different directory, causing missing dependencies.
Make sure to extract all files and check your antivirus settings to prevent accidental deletions.
File contains a virus or potentially unwanted software
- Search Windows Security
- Select Virus & threat protection
- Click allowed threats
- Search for a Threat that has AdbAutoPlayer or adb_auto_player in the file name or path then click Actions and Restore
- If you have no Threats click Protection history and check there then do the same as step 4.
Tap to restart this app for a better view
Some games will not automatically scale when the resolution changes. You simply have to press the button and the bot will work.
AFK Journey
Support Game Languages:
- English
Supported Resolutions:
- 1080x1920
Features
important
Work in Progress section will be added later
In-Game Recommended Settings
To improve performance and reduce lag, adjust the following in-game settings:
- Set Graphics to Minimum while keeping high-performance Power Mode.
- Disable Battle Texts: Go to
Battle > Combat Text > Off
. This prevents excessive on-screen text, reducing emulator lag. - Disable Battle Logs: Under Combat Text, turning off battle logs minimizes post-battle processing and improves overall game performance.
Guitar Girl
Supported Resolutions:
- 1080x1920
Dev & Build
CLI
Set the python directory as the root of your project if you are using PyCharm.
The python/.idea
contains run configurations and other things that make setting up PyCharm easier for you.
Setup
important
Execute these commands in the python directory
Windows
- Install uv.
- Install Python.
uv python install
- Verify the player runs on CLI by showing the help.
uv run adb-auto-player -h
MacOS
- Install uv.
- Install Python.
uv python install
- Install ADB
- Verify the player runs on CLI by showing the help.
uv run adb-auto-player -h
Note:
UV creates a standard python virtual environment by default. Standard Unix command:
source .venv/bin/activate
More examples in UV Docs.
GUI
- Follow all the steps in the CLI section
- Install everything required for Wails. You can ignore the Optional Dependencies section.
- Run the dev command from the root directory
wails dev
Build scripts
Windows build_zip.ps1
$env:GITHUB_WORKSPACE = "C:\Users\$env:USERNAME\GolandProjects\AdbAutoPlayer"; .github\scripts\build_zip.ps1
General
Installing Pre-commit
We will assume you have uv installed otherwise go to Dev & Build
important
Execute these commands in the project root directory
uvx pre-commit
Frontend README
Node
Install the latest version here: https://nodejs.org/en/download/
Svelte with SvelteKit and Skeleton
This project is built using Svelte with SvelteKit.
We also use Skeleton, a UI toolkit for Svelte, to help with styling and components.
Setup
Follow Dev & Build
Contributing
Nothing here yet—PRs are welcome. I do insist on using Svelte, as this is the only frontend framework that I have even the tiniest amount of success with and feel comfortable maintaining.
At the moment, I (Yules) am the only person maintaining the frontend, so contributions—big or small—are very welcome. Other than that, if you are interested in helping out, you can do whatever you want, and you have my full support.
Contact
Writing Bots
important
Work in Progress.
Check out Dev & Build if you need help with setting up the project in general.
📝 TODO List
If you wish to contribute take a look at following tasks. Unless stated otherwise, feel free to reach out to @yulesxoxo for questions or guidance.
🐍 Backend Development
GFL2 Daily Automation
Status: In Progress
Assignee: @valextr
Backend Refactor (Second Pass)
Status: In Progress
Assignee: @valextr
Multi-Touch Gesture Implementation (PoC)
Status: Open for contribution
Priority: High
Library: uiautomator2
Background: ADB cannot handle multi-touch gestures directly. The uiautomator2 library provides capabilities for:
- Coordinate-based tapping (
d.click(x, y)
) - Screenshots (
d.screenshot()
) - Multi-touch gestures (swipe, pinch, etc.)
Goals:
- Create a proof of concept for multi-touch gesture implementation
- Focus on pinch gestures for zoom functionality in games
Nice to Have:
- Explore additional uiautomator2 features relevant to game automation
- Performance comparison between uiautomator2 and standard ADB implementation for shared features
- Benchmark testing for shared features (tap, screenshot, swipe)
OCR Implementation (PoC)
Status: Open for contribution
Priority: High
Focus: Performance and compatibility testing
note
Note: Keep implementation separate from main codebase during evaluation phase.
Objective: Evaluate OCR libraries for potential integration as an addition to template matching. Key considerations:
- CPU, GPU, and memory usage optimization
- Compatibility with lower-power PCs
- Reliability
Test Cases (using AFK Journey):
- Header/Title text recognition
- UI label detection
- Popup text extraction
- Arcane Lab gate titles and descriptions
- Battle icon text
- Arcane Lab crest information
🎨 Frontend Development
Custom Routine Component Enhancement
Status: Design phase - seeking UI/UX input and/or developer
Current State: Basic functionality implemented
Proposed Improvement: Drag-and-drop interface
Ideas:
- Redesign current component for better UX
- Support for multiple routine management
- Intuitive drag-and-drop functionality
📚 Documentation
Emulator Setup Guides
Status: Open for contribution
Scope: Create comprehensive setup guides for popular Android emulators
Format: Individual .md
files per emulator
note
Note: Contributors can focus on their preferred emulator - complete coverage by single contributor not required.
Missing Emulators:
- BlueStacks
- MuMu Player
- LDPlayer
- MuMu Pro (Mac)
- BlueStacks Air (Mac)
Content Requirements:
- Default device ID configuration
- ADB enabling instructions
- Recommended settings
- Multi-instance device ID identification
Physical Device Setup Guide
Scope: Android phone/tablet configuration for automation
Required Topics:
- USB debugging activation
- Wireless debugging setup (optional)
- Device ID identification
- Display resolution configuration
- Security considerations
Custom Routine Documentation
Status: Open for contribution
Scope: User guide and examples for custom routine feature
Requirements:
- Feature explanation and workflow
- Practical examples (AFK Journey as reference)
🎮 AFK Journey Specific
Fishing
Status: Open for contribution
Priority: Lowest
Often requested but never picked up because it is not very useful.
Template Matching is probably not suitable for this.
Rough from @yulesxoxo: Can be attempted using a heatmap approach.
Also check the Show Debug Info command in the App to get your tap input delay.
[INFO] --- Testing Input Delay ---
[INFO] Average time taken to tap screen 10 times: 10.89 ms
At high input delay values you would have to implement Optical Flow (estimate motion direction and velocity).
Feature Documentation Overhaul
Status: Open for contribution
Scope: Complete features section in AFK Journey documentation
Requirements:
- Comprehensive feature list
- Usage instructions
- Configuration options
- Examples and screenshots
Getting Help
- Discord: Use the badge above to reach out directly
- Issues: Create a GitHub issue for bugs or feature requests