Clash Meta for Android (CMFA): Install and Setup Guide
On this page
Clash Meta for Android — CMFA for short — is MetaCubeX's own Android client, with the mihomo core built straight into the app. There is no separate core to install and no root needed: you pick the right APK for your phone, import a subscription, tap start, and Android's VPN service carries every app's traffic through the core.
The whole setup takes a few minutes. The two parts worth getting right are the APK variant — three are published and only one is ideal for your device — and the two system prompts Android raises along the way: installing from an unknown source, and granting the VPN connection.
Below: choosing a build, installing it, creating your first profile, everyday use, and the two annoyances people hit afterwards — the app being killed in the background and the notification going missing.
Which APK variant should you download?
The three CMFA variants differ only in which CPU architectures they contain. This site mirrors version 2.11.32:
| Variant | Who it is for | Notes |
|---|---|---|
arm64-v8a | Practically every phone sold in recent years | The default choice — 64-bit ARM |
armeabi-v7a | Older 32-bit Android devices | Use only if the arm64 build will not install |
universal | Any device | Contains every architecture, so the file is larger |
If you are unsure, try arm64-v8a first; if Android rejects it as incompatible, fall back to armeabi-v7a, or take universal and stop thinking about it. All three are in the download center's Android section, and the naming behind these architectures is unpacked in the CPU architecture guide. The project's source and releases live at github.com/MetaCubeX/ClashMetaForAndroid.
Install the APK
- Download the APK on the phone, or transfer it there and open it from a file manager.
- Tap the file to start the installer. Android blocks it the first time and offers a shortcut into settings — allow "install unknown apps" for whichever app you are installing from (your browser or file manager), then go back and confirm.
- Finish the installation and open Clash Meta.
Note: that permission is granted per source app rather than system-wide, so you are only loosening the setting for the one app you used. You can revoke it again afterwards.
Create a profile and start the tunnel
- Copy the subscription URL from your provider's dashboard, choosing the Clash/mihomo format if several are offered.
- In CMFA, open the profiles screen and tap the + button to create a new configuration.
- Choose URL as the source, paste the link, give the profile a name you will recognize, and save.
- When the download finishes, tap the profile to make it the active one — the core loads whichever profile is selected.
- Back on the main screen, flip the switch to start.
Android now shows a system dialog asking to allow a VPN connection — the standard prompt every tunnel-type app triggers, and CMFA needs it to create the virtual interface that captures traffic. Accept it, ticking the "trust this application" option if you would rather not be asked again. Screen labels follow the current release and can shift a little between versions, so match the meaning rather than the exact wording; the equivalent flow for desktop clients is in the subscription import guide.
Once running, a key icon appears in the status bar and CMFA posts an ongoing notification with the active profile and traffic counters. Open a site that was previously unreachable to confirm the tunnel works. Nothing else on the phone needs configuring: Android has no per-app proxy switch to flip, because the VPN interface already picks traffic up at the network layer for every app at once.
Everyday use: nodes, groups and updates
Day to day you will only touch three things:
- Proxy groups. The proxies screen lists the groups defined by your subscription — typically a main selector plus regional or service-specific groups. Tap a group to change which server it uses.
- Latency tests. Trigger a test from the group view to see which servers respond fastest right now, then pick accordingly. Results reflect the moment they were measured, not a permanent ranking.
- Profile updates. Providers rotate servers over time. Pull to refresh (or use the update action on the profile) whenever everything starts timing out, and set an automatic update interval so the config stays current on its own.
Switching a node does not require stopping the tunnel — existing connections finish on the old route while new ones follow the new selection.
Two problems worth fixing early
- The tunnel dies in the background. Aggressive battery management is the usual culprit: the system suspends or kills the app when the screen has been off for a while, and connections quietly stop working. In Android settings, find battery optimization (the exact path varies by manufacturer) and set Clash Meta to unrestricted. On heavily customized systems there is often a second "protected apps" or "auto-start" list that needs the same treatment.
- No notification, or it disappears. Check that notifications are enabled for the app and that its channel has not been muted. The ongoing notification is not decoration — on modern Android it is part of what keeps a foreground service alive, so suppressing it makes background kills more likely.
Where to go next
CMFA is the most direct route to mihomo on Android, but it is not the only one. If you also use a Mac or a Linux desktop and would rather have the same interface everywhere, FlClash ships the same core in a cross-platform Flutter app and imports the exact same subscription URL.