Clash for Android is a practical way to manage proxy subscriptions and switch between servers directly from your phone. The basic workflow is simple: obtain a subscription URL from your service provider, import it into Clash, refresh the profile when server information changes, test available nodes, and select the node or proxy mode that matches your current network. The difficult part is knowing which screen controls which task. This guide explains the complete process for Clash for Android and Mihomo-based Android clients, including subscription setup, profile updates, node selection, proxy modes, battery considerations, and common connection problems.
What You Need Before Adding a Subscription
Before opening Clash for Android, prepare a valid subscription link from your provider. A subscription is usually a long URL that contains your account information and a list of proxy nodes. It may begin with https://, although some providers display it behind a button such as Copy subscription, Clash link, or Import to client. Do not confuse this URL with a single-node share link. A single-node link normally describes one server, while a subscription can contain many servers and can be updated later.
You should also check whether the link is intended for Clash or Mihomo. Most current clients accept common formats such as YAML, Base64-encoded node lists, or provider-generated Clash profiles, but the conversion and rule features may differ between services. If your provider offers several buttons, choose the option specifically labeled for Clash, Clash Meta, Mihomo, or Clash for Android. Avoid copying spaces, quotation marks, or extra text before and after the URL.
Finally, make sure Android allows Clash to run as a VPN service. Clash does not usually need root access, but Android will display a system VPN permission dialog when you start the service for the first time. If another VPN, ad blocker, firewall, or private DNS application is already active, disable it temporarily during the initial setup. Two applications attempting to create VPN tunnels at the same time can cause confusing failures.
How to Add a Subscription in Clash for Android
The names of buttons vary slightly between Clash for Android builds, Clash Meta, and Mihomo-based clients, but the concept is the same. You first create a profile from a remote URL, then activate that profile. Importing a subscription does not automatically mean that proxy traffic is already enabled; profile selection and the service switch are separate steps.
- Open Clash for Android and go to the Profiles, Configurations, or similarly named profile page.
- Tap the add button, plus icon, or New Profile option.
- Choose URL, Remote, or Import from URL.
- Paste the complete subscription URL into the address field.
- Enter a recognizable profile name, such as
My SubscriptionorMobile Profile, if the client asks for one. - Tap Download, Import, or Save and wait for the profile to finish loading.
- Tap the newly imported profile to make it active.
- Return to the main page and start the Clash service when you are ready to test the connection.
A successful import normally creates a profile entry with a download time, file size, or configuration status. If the profile appears in the list but cannot be selected, the downloaded content may not be valid Clash YAML, the subscription may have expired, or the provider may require a special conversion format. In that case, test the URL in a browser or ask the provider whether it supports your client version.
Some clients offer a direct paste action from the Android clipboard. This is convenient, but it can also import an incomplete link if the clipboard contains line breaks or hidden spaces. When the import fails unexpectedly, paste the URL into a plain text editor first, remove any surrounding punctuation, and try again. A URL copied from a web page may also be wrapped in tracking parameters or a redirect; use the provider's original subscription address whenever possible.
How to Update Servers and Refresh the Profile
A subscription profile is not a permanent snapshot. Providers may add nodes, remove expired nodes, change server addresses, or update traffic rules. Refreshing the profile downloads the latest version from the same subscription URL. It does not normally change your account password, and it does not require you to manually add every new server.
To update the available servers, open the profile or configuration page and locate the refresh icon or the profile menu. Select the imported subscription and tap Update, Refresh, or Update from URL. Keep the phone connected to a working network while the download is in progress. After the update completes, reopen the proxy groups page because the node list may have changed.
| Action | What It Changes | When to Use It |
|---|---|---|
| Update profile | Downloads the latest configuration and server list | New nodes are missing or the provider published changes |
| Reload profile | Reads the already downloaded configuration again | You changed a local setting or the client is showing stale data |
| Test node | Measures reachability or latency to selected servers | You need to find a responsive node |
| Replace subscription | Creates a new profile from another URL | Your provider issued a new link or account token |
| Delete profile | Removes the local configuration | The profile is corrupted and must be imported again |
If the update fails, first check whether the subscription URL still opens on the same network. A timeout can be caused by a temporary provider outage, a captive portal, DNS failure, or a network that blocks the subscription domain. Try switching from Wi-Fi to mobile data, or vice versa. If the URL downloads successfully but the client reports a parsing error, the provider may be returning an HTML login page instead of a Clash configuration. This usually means the link expired or requires account authorization.
How to Test and Switch Nodes
After importing and activating the profile, open the Proxies, Proxy Groups, or Nodes page. Most subscription profiles organize servers into groups rather than showing one flat list. You may see groups named Proxy, Auto, Global, Final, or a provider-specific name. Selecting a node inside a group affects traffic routed through that group, so choose the group used by the profile's main rule set.
Latency numbers are useful, but they are not a complete measure of quality. A node may show a low delay to the test URL while performing poorly with video, downloads, or a particular destination. Test several nodes and consider stability, packet loss, geographic location, and actual browsing speed. A node that is 20 milliseconds faster but frequently disconnects is usually worse than a slightly slower node with consistent throughput.
- Start the Clash service and open the proxy group used for general traffic.
- Tap the test or latency icon if the client provides one.
- Wait for the measurements to finish instead of judging from the first result.
- Choose a node with a successful test and reasonable latency.
- Open a normal website or application to confirm real connectivity.
- If the result is slow, return to the same group and try another node.
Some profiles use a manual select group. In this case, you must choose the node yourself, and the selected node remains active until you change it. Other profiles use an automatic group such as url-test or fallback. An automatic group may change nodes without asking you, which is useful when you move between Wi-Fi and mobile networks but can make troubleshooting less predictable. If you need a fixed exit location for a website, game, or account login, use a manual selection group.
Choosing the Right Proxy Mode on Android
Clash for Android generally provides several operating modes. The exact labels depend on the client and core, but the practical differences are consistent. The best mode depends on whether you want all applications covered, only selected applications routed, or a quick temporary test.
| Mode | Traffic Behavior | Best Use | Limitations |
|---|---|---|---|
| Rule | Matches domains, IPs, and applications against configured rules | Daily use with direct access for local services | Depends on rule quality and DNS behavior |
| Global | Sends matching proxy traffic through the selected proxy group | Short troubleshooting sessions or simple testing | May proxy services that should remain direct |
| Direct | Bypasses the proxy and connects normally | Comparing normal network behavior | Does not provide proxy access |
| TUN or VPN mode | Captures traffic from applications through Android's VPN interface | Apps that do not honor Android proxy settings | May use more battery and conflict with other VPN apps |
Rule mode is the usual recommendation for everyday use. It lets the configuration decide which domains go through the proxy and which go directly to the local network. This is helpful for banking apps, local services, and domestic websites that may be slower when sent through a distant server. If a destination is incorrectly routed, the problem is often a missing or outdated rule rather than a bad node.
Global mode is useful as a diagnostic tool. If a website works in Global mode but not in Rule mode, inspect the rule set, DNS settings, or proxy group selection. Global mode should not automatically be treated as faster. Sending every connection through a remote server can increase latency, consume more data, and interfere with local services.
TUN mode creates an Android VPN interface and captures traffic from apps that do not support ordinary proxy settings. It is often necessary for applications, games, or background services that ignore the system proxy. Android normally allows only one VPN service at a time, so disable other VPN-based tools before enabling TUN. Also check battery usage if the service remains active all day.
Hands-On Setup: Import, Update, Test, and Confirm
The following sequence is a reliable first-run procedure. It deliberately separates profile management from connection testing, making it easier to identify where a problem occurs.
- Connect to ordinary Wi-Fi or mobile data without another VPN enabled.
- Copy the provider's Clash or Mihomo subscription URL.
- Create a remote profile and import the URL.
- Activate the imported profile, then update it once to confirm that the URL works.
- Start the Android VPN service and accept the system permission request.
- Open the main proxy group and test several nodes.
- Select one stable node instead of immediately relying on automatic switching.
- Use Rule mode for normal browsing and open a few destinations that should be direct and proxied.
- Enable TUN only if an application does not follow the normal proxy path.
- Record which node and mode worked so you have a baseline for later troubleshooting.
During this test, change only one setting at a time. For example, do not switch nodes, enable TUN, change DNS, and replace the rule mode simultaneously. If the connection then fails, you will not know which change caused it. A controlled sequence is especially important on Android because network handoffs, battery restrictions, and background process limits can produce symptoms that resemble configuration errors.
Troubleshooting Common Connection Problems
If the subscription imports but no nodes appear, inspect the profile content and update status. The provider may have returned an empty list because the account quota expired, the subscription has reached its device limit, or the URL is for a different client format. Re-copy the URL from the provider portal and compare it with the saved profile address.
If nodes appear but every latency test fails, first verify that the Clash service is running and that Android has granted VPN permission. Then try another network. A successful subscription download does not prove that every proxy server is reachable; the subscription domain and the proxy endpoints may be hosted in different networks. Also check the device date and time, because an incorrect clock can break TLS verification and some authenticated protocols.
If the service starts but applications remain offline, confirm that the selected proxy group is not set to DIRECT. In Rule mode, inspect whether the affected domain is being matched by a direct rule. Temporarily switch to Global mode for comparison. If Global works, the node is probably healthy and the next step is to review rules or DNS rather than repeatedly changing servers.
If only one application fails, check whether it uses certificate pinning, its own DNS resolver, or a separate VPN interface. Some apps reject proxy connections by design, while others require TUN mode. Conversely, TUN can cause problems with banking, streaming, or enterprise applications that detect VPN interfaces. Use per-app routing or bypass options when your client provides them, and avoid forcing every application through the proxy without a clear reason.
Maintenance Tips for Stable Mobile Use
Keep one known-good node as a reference when experimenting with automatic groups or new profiles. When a provider publishes a large update, test the updated profile before deleting the previous one. A backup profile can save time if the new configuration contains an invalid rule, an incompatible feature, or an unexpected group name.
Set a reasonable update interval if the client supports scheduled refreshes. Daily updates may be appropriate for frequently changing services, while weekly updates are enough for a stable personal subscription. Avoid leaving the app in an aggressive testing mode because repeated latency checks can consume battery and data. Android battery optimization may also stop the Clash process in the background. If connections disappear after the screen is locked, allow the client to run in the background or exclude it from battery optimization, depending on your device manufacturer.
When moving between networks, wait a few seconds after switching from Wi-Fi to mobile data before judging the node. The VPN interface may need to reconnect, and the previous network may have left stale routes or DNS state. If the service does not recover, stop and restart Clash rather than immediately importing the subscription again. Profile updates and service restarts solve different problems.
Once the subscription is imported, a stable node is selected, and Rule mode behaves as expected, daily operation should require very little maintenance. Refresh the profile when nodes expire, switch nodes when performance changes, and use Global or TUN mode only when the application or troubleshooting task calls for it. With these habits, Clash for Android becomes a predictable mobile network tool rather than a collection of settings that must be changed at random.
Take Full Control of Your Traffic with Clash
Available on Windows, macOS, Linux, Android, and iOS. Flexible rules, simple setup, ready to use.