Which Clash Client Should You Use on Android?

When people say Clash for Android, they usually mean any Android app that runs the Clash rule engine and accepts subscription URLs. The original Clash for Android app by Kr328 is no longer maintained. For new installs in 2026, we recommend ClashMeta for Android — maintained by MetaCubeX, built on the Mihomo kernel, and updated with support for VLESS, Hysteria2, TUIC, and other protocols the legacy client never gained.

ClashMeta for Android keeps the familiar workflow: import a subscription link, browse nodes grouped by policy, switch between Rule / Global / Direct modes, and start a system-level VPN with one tap. If you already use Clash Verge Rev on desktop, the mental model transfers directly — Profiles map to subscriptions, Proxies hold your node list, and Rule mode sends domestic traffic direct while foreign sites use the proxy.

Client note: Steps below use ClashMeta for Android labels (Profiles, Proxies, Settings). FlClash and other Mihomo-based forks follow a similar flow; menu names may differ slightly.

Before you begin, copy your subscription URL from your provider's dashboard — usually labeled "Clash", "One-Click Import", or "Subscription Link". You need Android 5.0 or later and enough storage for a 30–40 MB APK.

Download and Install ClashMeta for Android

Google Play often does not list Clash clients in every region, so the reliable path is sideloading an APK from a trusted source. Visit the official Clash download page, scroll to the Android section, and pick the build that matches your phone's CPU architecture.

APK variant Best for Notes
ARM64 (arm64-v8a) Most phones from 2016 onward Default choice — smallest and fastest
Universal When you are unsure of your chip Larger file, runs on all ABIs
ARMv7 (armeabi-v7a) Very old devices Rarely needed today
  1. Download the APK to your phone (or transfer it from a PC).
  2. Open your file manager, locate the file, and tap it to install.
  3. If Android blocks the install, allow "Install unknown apps" for your browser or file manager when prompted (Android 8+) or enable Unknown Sources under Security on older versions.
  4. Tap Install, wait for completion, then tap Open.
Security tip: Only install APKs from the official download page or the project's GitHub releases. Third-party repacks may inject malware. If installation fails with "problem parsing the package", the download was likely truncated — delete the file and download again on a stable connection.

Add a Proxy Subscription URL

A subscription URL is a remote link that returns a Clash-format YAML config — your provider hosts it and refreshes node lists whenever servers change. You never edit raw YAML on the phone unless you want to; importing the URL is enough for daily use.

  1. Launch ClashMeta for Android and open the Profiles screen (top of the main interface or via the bottom navigation).
  2. Tap the + icon in the upper-right corner and choose URL.
  3. Paste your full subscription link into the URL field — it should start with https:// and contain no leading or trailing spaces.
  4. Enter a short profile name (e.g. "Provider A" or "HK nodes") so you can tell configs apart if you add more than one.
  5. Enable Auto Update if available and set an interval such as 24 hours so nodes stay current without manual refreshes.
  6. Tap OK or the save icon. The app fetches the config; a success message means nodes loaded.
  7. Tap the new profile to activate it — a checkmark or highlight shows which profile is live.
Many providers also offer a QR code. In ClashMeta, tap +QR code and scan it instead of pasting. Copying a link and opening the app can trigger a clipboard import prompt as well.
Import failed? Open the same URL in your mobile browser. If it downloads a YAML file or shows readable proxy text, the link is valid and the issue is local. If the browser returns 403/404 or an empty page, contact your provider for a fresh Clash-format link and confirm your account is active.

Choose a Proxy Mode

ClashMeta exposes three routing modes on the home screen or in the control panel. Picking the right one prevents slow domestic apps when you only need selective proxying.

Mode Behavior When to use
Rule Traffic follows rules in the profile — domestic IPs direct, matched domains through proxy Daily use; recommended default
Global All traffic goes through the selected proxy node Quick test when Rule seems misconfigured
Direct Everything connects without proxy Temporarily disable routing

Leave Rule enabled for normal browsing and streaming. Well-formed subscriptions ship with GEOIP and domain rules (for example GEOIP,CN,DIRECT) so Chinese apps and banking sites stay on direct paths while international services use your node. Switch to Global only to diagnose routing — running Global permanently slows local services and wastes bandwidth.

Select Nodes and Run Latency Tests

After the profile activates, open the Proxies tab. Nodes appear inside policy groups — common names include Proxy, Auto Select, Hong Kong, or region-specific buckets your provider defines.

  • Tap the lightning icon on a group header to ping every node in that group at once.
  • Lower latency (often shown in green, under ~150 ms to your target region) usually means a more responsive route, but it is not a bandwidth guarantee.
  • Auto Select or URL-Test groups pick the fastest node automatically — convenient if you do not care which server you land on.
  • To lock a region (e.g. Japan for a specific service), expand the group and tap the node name manually.
Latency tests measure ICMP or TCP handshake time, not download speed. After picking a candidate node, run a real speed test app or stream a video briefly. A node with 80 ms ping but congested peering can still buffer — trust practical results over numbers alone.

If every node shows timeout, pull down to refresh the profile or re-import the subscription. Empty groups after a successful import often mean the provider returned a non-Clash format (SSR-only link, for example) — ask for an explicit "Clash" subscription URL.

Start the VPN and Adjust Key Settings

Return to the home screen and tap the large Stopped → Tap to start button (or flip the main toggle). Android requests VPN permission the first time — tap OK. When the button reads "Running" and traffic counters move, routing is active.

These settings matter once the tunnel is up:

  • Bypass private network / Bypass LAN: Keep this on so local devices (router admin pages, NAS, printers, Chromecast) stay reachable without forcing LAN traffic through a remote node.
  • Per-app proxy (Apps): Whitelist mode proxies only selected apps; blacklist mode proxies everything except exclusions. Useful when one banking app refuses VPN interfaces or when you only need a browser proxied.
  • Allow LAN connections: Lets other devices on the same Wi-Fi use your phone as an HTTP/SOCKS proxy (default port often 7890). Handy for sharing a connection with a laptop or tablet temporarily.
  • TUN mode: Captures TCP and UDP at the network layer so games and apps that ignore system proxy still route through Clash. Enable it when specific apps fail under Rule mode alone; it may use slightly more battery.
Battery saver and aggressive task killers on some OEM skins (Xiaomi, Huawei, Samsung) can stop the VPN service in the background. Add ClashMeta to your battery optimization exemption list and allow autostart if disconnects happen after locking the screen.

Troubleshooting Common Issues

Domestic apps are slow or fail after enabling proxy

Confirm the mode is Rule, not Global. Global sends all traffic abroad and breaks local CDNs. If Rule is active but problems persist, open the profile log and check for missing GEOIP rules — your provider may offer a "Domestic direct" rule set or a merged config you can enable in profile settings.

Certain apps never use the proxy

Games, VoIP clients, and some social apps use UDP or hard-coded DNS that bypasses a basic VPN route. Turn on TUN mode in ClashMeta settings, or add the app to the proxy whitelist under Apps. On Android 10+, also verify the app is not set to "Unrestricted" mobile data while Clash is restricted.

Subscription imports but shows zero nodes

The link may be expired, account-suspended, or in a format Clash cannot parse (plain Shadowsocks base64 without a Clash wrapper). Request a fresh "Clash subscription" from your provider and verify the URL in a browser. Valid configs begin with keys like mixed-port, proxies:, or proxy-groups:.

# Example header of a valid Clash YAML subscription
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

proxies:
  - name: "HK-Node-01"
    type: vmess
    server: example.com
    port: 443
    uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    alterId: 0
    cipher: auto
    tls: true

Connection drops when the screen locks

Disable battery optimization for ClashMeta, enable "Allow background activity", and keep the persistent notification visible — Android treats that notification as proof the VPN should stay alive. If you use a work profile or dual apps, install and configure Clash in the same profile as the apps you want proxied.

Compared with single-server VPN apps that tunnel everything through one exit — often throttling local sites — Clash on Android keeps routing visible and rule-driven. Browser-only proxy extensions cannot touch other apps at all. Plain Shadowsocks clients connect one node at a time with no policy groups or auto-failover. ClashMeta for Android sits in the practical middle: Mihomo-grade protocol support, visual node picking, subscription auto-update, and optional TUN when an app fights the system VPN — the same flexibility desktop Clash users expect, in a pocket-sized client.

Download Clash free for every platform →