Getting Started

Prerequisites

1. Confirm System Version

Windows macOS Linux Android
System Requirements Windows 10 and above, x86_64 architecture Self-test Self-test Not recommended
Environment Setup Required Yes Yes Yes Yes
Emulator Required Yes Yes Emulator or containerized Android No
Usage GUI or CLI GUI or CLI GUI or CLI CLI
Notes
Mac Users M9A supports both Apple Silicon and Intel chip Mac computers
But it’s more recommended for Intel chip Mac computers to use Mac’s built-in multi-system installation of Windows
And use Windows version M9A and emulator
Android Users M9A no longer provides Android version release packages
If you are very familiar with mobile phone operations and wish to use Android physical devices, please go to Development Documentation to install it yourself
You can refer to Usage Method, and MAA Documentation
This method is complex and has certain risks, not recommended for beginner players

2. Install Runtime Environment

Launch Method
Windows
macOS
Linux
CLI (MaaPiCli)
GUI (MFAAvalonia)
CLI
GUI
CLI
GUI
Install
VCRedist Required
Click vc_redist.x64 to download or install via winget (see below)
No
Install
.NET 8 Required
No
Go to .NET official download page to download the corresponding version or
install via winget (see below)
No
No
Same as Mac
Install
Python Required
Included in package, no other operations needed
3.10≤python<3.14

1. VCRedist x64

Windows users must install VCRedist x64: This is the basic requirement for running M9A (whether it is the command line version or the graphical interface version).

Detailed Installation Methods

  • Direct download: Click vc_redist.x64 to download and install
  • winget installation: Right-click the Windows Start button, select "Command Prompt" or "PowerShell (Administrator)", then paste the following command in the terminal and press Enter:
    winget install Microsoft.VCRedist.2017.x64

2. .NET 8

All users using MFAAvalonia need to download and install .NET 8 suitable for your system.

Detailed Installation Methods

  • Self-download: Click .NET official download page , select the version suitable for your system to download and install.
    Windows macOS Linux
    You need to download .NET Desktop Runtime .NET Runtime
    Installer x64 dotnet-install.sh
  • (Windows users only) winget installation: Right-click the Windows Start button, select "Command Prompt" or "PowerShell (Administrator)", then paste the following command in the terminal and press Enter:
    winget install Microsoft.DotNet.DesktopRuntime.8

3. Python

Linux users need to install Python separately.

Details

  • Your system needs to have Python version ≥ 3.10 installed. This is required for M9A to start and manage its internal environment.
  • M9A will automatically create and use an independent virtual environment and install the required Python dependency packages (from requirements.txt) when it is run for the first time. You do not need to manually create a virtual environment or install these dependencies.

3. Download the Correct Version

M9A download (update) address: GitHub Releases page. Click the link, then select the latest version archive suitable for your system in the Assets section.

Chinese users can also download at high speed through MirrorChyan.

Windows macOS Linux
You need to download M9A-win-x86_64-vXXX.zip M9A-macos-x86_64-vXXX.tar.gz or M9A-macos-aarch64-vXXX.tar.gz
depending on your architecture
M9A-linux-x86_64-vXXX.tar.gz or M9A-linux-aarch64-vXXX.tar.gz
depending on your architecture
Method for Mac users to check processor architecture

  1. Click the Apple logo in the top-left corner of the screen.
  2. Select "About This Mac".
  3. In the window that appears, you can see the processor information.
  • If using Intel X86 processor, please download M9A-macos-x86_64-vXXX.tar.gz
  • If using Apple Silicon series such as M1, M2, etc. ARM architecture processors, please download M9A-macos-aarch64-vXXX.tar.gz

4. Confirm Emulator and Device Support

Windows macOS Linux Android
Emulator Support Supports mainstream emulators Supports mainstream emulators Self-test /
ADB Function Required Yes Yes Yes Yes
Notes PlayCover is temporarily not supported

For emulator support details, please refer to MAA documentation. For reference only, please refer to MaaFramework actual support status.

MAA Emulator and Device Support Documentation

Windows macOS Linux Android
Reference Documentation Windows Emulators If your device has Apple Silicon, please refer to:
Mac emulators running on Apple Silicon platform
If your device has Intel chip:
1. Recommended to use Mac’s built-in multi-system to install Windows
and refer to Windows section documentation
2. Refer to Mac emulators running on Intel platform
Linux Emulators and Containers Android Physical Devices

5. Set Emulator Resolution Correctly

M9A supports mainstream emulators, but you need to set the emulator resolution to meet operational requirements.
The emulator resolution should be landscape 16:9 ratio, recommended (and minimum) resolution is 1280x720. Running errors caused by non-compliant requirements will not be resolved.

Warning

Note that after changing the resolution, the emulator homepage should be horizontal (tablet version), don’t select vertical (mobile version)!


6. Getting Started

M9A supports both command line (MaaPiCli) and graphical interface (MFAAvalonia), but before use, you need to extract the archive correctly.

Important

Don’t run the program directly from the compression software!

For general users, it’s recommended to use M9A through MFAAvalonia.

Windows

Confirm complete extraction and ensure M9A is extracted to an independent folder. Recommended extraction path like: D:\M9A. Except for closing the built-in administrator-approved Administrator account, please do not extract M9A to paths requiring UAC permissions such as C:\, C:\Program Files\, etc.

macOS

Details

  1. Open terminal, extract the distributed archive:

    Option 1: Extract to system directory (requires administrator privileges)

    sudo mkdir -p /usr/local/bin/M9A
    sudo tar -xzf <downloaded M9A archive path> -C /usr/local/bin/M9A
    

    Option 2: Extract to user directory (recommended, no sudo required)

    mkdir -p ~/M9A
    tar -xzf <downloaded M9A archive path> -C ~/M9A
    
  2. Enter the extraction directory and run the program:

    cd /usr/local/bin/M9A
    ./MaaPiCli
    

If you want to use the graphical interface, follow step 2 but execute MFAAvalonia instead of MaaPiCli.

⚠️Gatekeeper security prompt handling:

In macOS 10.15 (Catalina) and later, Gatekeeper may prevent unsigned applications from running.
If you encounter errors such as “Cannot open because the developer cannot be verified”, please choose one of the following solutions:

# Solution 1: Take MaaPiCli as an example to remove the quarantine attribute (recommended, subject to the actual path)
sudo xattr -rd com.apple.quarantine /usr/local/bin/M9A/MaaPiCli
# Or user directory version: xattr -rd com.apple.quarantine ~/M9A/MaaPiCli

# Solution 2: Add to Gatekeeper whitelist
sudo spctl --add /usr/local/bin/M9A/MaaPiCli
# Or user directory version: spctl --add ~/M9A/MaaPiCli

# Solution 3: Process the entire directory at once
sudo xattr -rd com.apple.quarantine /usr/local/bin/M9A/*
# Or user directory version: xattr -rd com.apple.quarantine ~/M9A/*

Linux

Same as macOS, download the corresponding version archive, extract and run MaaPiCli or MFAAvalonia.


7. Configure M9A

You can configure M9A according to your needs for a better user experience.

Some configuration items may cause M9A to run abnormally when configured incorrectly or not configured, so it’s recommended to read this section before starting to use.

This chapter will mainly introduce how to configure M9A through the graphical interface (MFAAvalonia). If you are using the command line version (MaaPiCli), please refer to MaaPiCli Operation Instructions.

The following demonstrations are for reference only, please refer to the actual software situation.

First Launch

MFA Main Interface Display

Main Interface

In the main interface, you can see six major sections: Resource Type Task List Task Settings Task Description Connection Log.

Caution

When starting MFA for the first time, M9A will initialize. After the Log section shows “AgentServer Started” until you see “All tasks completed”, please do not click Stop Tasks.

When M9A is running tasks, some settings in the main interface cannot be modified, such as the Connection section. At this time, you can first enter the global settings interface to configure.


M9A Settings Interface

Click the gear button in the lower left corner of the main interface to enter the M9A settings interface.

Users using MFA update-related functions should configure Update Settings. Users with multi-instance and auto-start needs should configure Startup Settings.

Update Settings

Details

    Resource Download Source
    • Uses MirrorChyan by default.
    • Users who haven't purchased MirrorChyan should change to GitHub.
    CDK or Token
Github source rate limit causing update failure

    rate limit exceeded

Startup Settings

Details

    Software Path
    • MuMu 12 Emulator Reference
    • Path Format
      MuMu 12 Emulator
      Below 5.0
      {Installation Directory}\shell\MuMuPlayer.exe
      MuMu 12 Emulator
      5.0 and above
      {Installation Directory}\nx_device\12.0\shell\MuMuNxDevice.exe
    Additional Commands
    • X is the multi-instance number
    • Parameter Format Example
      MuMu Emulator -v X -v 0
      LDPlayer index=X index=0
    MuMu Emulator Automatic Path Acquisition Method
    1. Ensure there is a emulator shortcut with 1999 application installed on the desktop.
    2. Click the icon to the right of the Software Path input box to enter the file selection interface, select the 1999 shortcut on the desktop, and the path will be automatically filled in.
      image_439

M9A Main Interface

At least configure Resource Type and Connection. When configured incorrectly, M9A cannot be used normally.

Resource Type

Details

  • You need to select the 1999 server installed in the emulator.
  • Currently supports: Official Server, Bilibili Server, International Server (EN), International Server (JP), OPPO Server, Xiaomi Server, QQ Server.

Connection

M9A requires correct ADB connection to execute tasks on the target emulator. In most cases, you only need to keep only the target emulator running and click “Refresh” to complete the connection. If you need to manually configure ADB parameters, please refer to Connection Settings.

Illustration

    image_440
Details

    Current Controller
    • Shows the currently connected ADB controller (emulator and ADB address).
    Interface Button Descriptions
    • Click Custom: Modify ADB parameters (generally no manual modification required).
    • Click Refresh: Re-detect all running emulators.
    • Connection Status: Green indicates connected.

Task List

Illustration

    image_441
Details

  • The checkbox before the task name is used to enable/disable tasks
  • Right-clicking the checkbox will execute that task once
  • Click the add task button in the upper right corner to add tasks not visible in the current list or repeatedly add existing tasks
  • Click the button to the right of the task to view Task Settings and Task Description
  • Drag task names to adjust task order

Important

Most tasks need to be configured correctly before use, and some tasks also need to be executed in specific scenarios according to task descriptions. Before enabling tasks, please ensure you have read and understood the Task Description for that task, and configure Task Settings according to actual situations. For more information about tasks, please refer to Feature Introduction.


Pip Settings

M9A supports configuring pip installation related settings through the config/pip_config.json file. Generally, you don’t need to modify this file unless you have special requirements.

config/pip_config.json Example

{
    "enable_pip_install": true,  // Whether to enable pip installation, default true, recommended to enable
    "last_version": "v3.2.0",  // Version of interface.json read when pip installation is completed, compared with version at startup, tries to install if different
    "mirror": "https://mirrors.ustc.edu.cn/pypi/simple", // Mirror source. Parameters after pip install -i, can be filled according to personal needs. Note that users outside mainland China should modify the value to ""
    "backup_mirrors": [
    "https://pypi.tuna.tsinghua.edu.cn/simple",
    "https://mirrors.cloud.tencent.com/pypi/simple/",
    "https://pypi.org/simple"
    ]  // Backup mirror sources
}