Android connection issues with v2rayNG usually come down to three things: whether Android allows the VPN, whether the service can keep running in the background, and whether the apps you want to use are included. This guide is for first-time setup, disconnects after locking the screen, and routing only selected apps through the proxy. Check permissions, background restrictions, and app lists in that order to separate system settings from node, DNS, and routing issues.
VPN permission: creates a local tunnel, but doesn’t verify your node
v2rayNG uses Android’s VpnService API to create a local virtual network interface, then passes captured traffic to the Xray core. The first time you start VPN mode, Android usually displays a connection request warning that the app can monitor network traffic. Tapping Allow authorizes the local tunnel; it does not test the remote server or fix an incorrect address, port, or security setting in your subscription.
Here, VPN refers to Android’s traffic-capture mechanism, not a specific remote protocol. A node may use VMess, VLESS, or another protocol. Android determines which apps enter the tunnel; the node configuration and core routing determine how their traffic is handled afterward. v2flyNG uses the V2Fly core, so not every v2rayNG setting described here applies to it.
The key icon in the status bar indicates an active VPN connection; it does not prove that proxy traffic is reaching its destination. Some devices hide the icon or show VPN status in Quick Settings instead. Check v2rayNG’s status, its service notification, and whether apps can actually reach their destinations. These Android platform details are not minimum OS requirements for the current app version.
-
Select a node
Open v2rayNG and select an imported node on the main screen. Check the server address, port, and protocol. A subscription group name does not necessarily identify the selected node.
-
Start the service
Tap the Start button in the bottom-right corner of the main screen. When Android shows a connection request, confirm the app is v2rayNG, then tap Allow to create the VPN connection.
-
Check for conflicts
Go to Android Settings → Network & internet → VPN to check for other active services. On some devices, look under Connection & sharing or More connections, or use Settings search to find VPN.
-
Test access
Use a browser included in the proxy list to open the site you want, then check the v2rayNG logs. If the service starts but the site won’t load, troubleshoot the node and DNS rather than repeatedly reinstalling the app.
Disconnects after locking the screen: check whether the service stopped or the network changed
If v2rayNG works with the screen on but stops after a few minutes locked, common causes include background restrictions, manufacturer process cleanup, or a stale connection after switching between Wi-Fi and mobile data. Exempting the app from battery optimization only addresses background restrictions; it cannot stabilize your carrier network or revive an unavailable node. First note whether the service notification disappears and whether you have to tap Start again after unlocking.
| What you see | Check first | What to do |
|---|---|---|
| Service stops and its notification disappears | Background activity or process cleanup | Set the app’s battery usage to Unrestricted, then check its autostart permission |
| Service appears active, but requests time out after switching networks | Underlying network or stale connection | Confirm mobile data works, stop and restart the service, then test the same site again |
| Only one app won’t load | Per-app list or the app’s connection | Check the app list, fully close the target app, then reopen it |
| All apps fail consistently, even after a restart | Node, DNS, or authentication settings | Look for DNS resolution failures, connection timeouts, or handshake errors in the logs; compare with a known-working node |
Run a repeatable check: keep the same node and network, test in the foreground, lock the screen for 10 minutes, then check the service status as soon as you unlock. Also test once while switching from Wi-Fi to mobile data. Ten minutes is an observation window for troubleshooting, not a guarantee against disconnects. Recording the exact time is more useful than noting that it happens “often.”
Bottom line: change one variable at a time
First relax the battery restrictions, then repeat the screen-lock test with the same node. If the service stays active but requests still time out, investigate the network and logs instead of adding unrelated system permissions.
Battery optimization: configure battery use, autostart, and background locks separately
Android’s standard battery optimization, manufacturer autostart controls, and app locking in Recent apps are separate controls. Disabling one restriction does not disable the others. Menu names vary by Android version, region, and device. The paths below are common examples; if yours differs, long-press the v2rayNG icon, open App info, and look for battery and background activity settings.
| System | Common settings path | What to change |
|---|---|---|
| Near-stock Android | Settings → Apps → v2rayNG → App battery usage | Allow background usage; select Unrestricted if a battery policy is available |
| Xiaomi | Battery saver in App info; search Settings for Autostart | Set the battery policy to No restrictions and allow background autostart if needed |
| Huawei and Honor | Settings → Apps → App launch | Turn off automatic management for v2rayNG and allow background activity; enable autostart and secondary launch if needed |
| OPPO and realme | Power usage or Battery usage in App info | Allow background activity, then check autostart settings |
| vivo | Search Settings for Background power consumption and Autostart | Allow v2rayNG to run in the background and check its autostart permission |
| Samsung | Settings → Battery → Background usage limits | Keep the app out of the Sleeping and Deep sleeping lists; optionally add it to Never auto sleeping apps |
Locking an app in Recent apps can reduce the chance of accidentally closing it with a cleanup action, but it does not exempt the app from all battery restrictions. Autostart permission also does not guarantee that a proxy connection will start after reboot; that depends on the client, system authorization, and startup conditions. Don’t grant unrelated permissions, such as contacts or location, just to keep the app running.
Per-app proxy: choose an allowlist or bypass list
v2rayNG’s per-app proxy setting controls which apps send traffic through the VPN. The usual path is the side menu → Settings → Per-app proxy, where you can enable the feature, toggle Bypass mode, and select apps. Menu locations and labels vary by version. Follow the screen’s explanation of whether selected apps use or bypass the proxy.
Allowlist: route only selected apps
RecommendedEnable per-app proxy, turn off Bypass mode, and select only the browsers or tools that need the proxy. Unselected apps usually keep using the device’s normal network. This is easy to manage and troubleshoot when only a few apps need proxy access.
Best for: routing 2–3 apps through the proxy while other apps keep their normal connection
Bypass list: exclude selected apps
Enable per-app proxy, turn on Bypass mode, and select the apps that should stay outside the VPN. The VPN handles all other apps. Newly installed apps are usually included by default, so check whether they need to be added to the bypass list.
Best for: proxying most apps while letting a few connect directly
Disable per-app proxy
No app allowlist or exclusion list is applied. The VPN captures traffic from apps Android allows it to capture, then passes it to the core for routing. This is a useful baseline for troubleshooting, not a way to force every request through the same proxy exit.
Best for: confirming the overall connection works before narrowing the proxy scope
“Allowlist” is a convenient name for this mode, not a list supplied by your subscription server. Don’t rely on an empty allowlist as a way to block all traffic: the client may handle an empty selection specially, and Android may create a tunnel covering all apps if no allowed apps are added. If you don’t need the proxy, stop the service instead.
- Restart the service after changing the list: Stop v2rayNG, then start it again so the updated list takes effect when Android creates the VPN interface.
- Reopen the target app: Existing connections may not switch to the new route immediately. Close the app and reopen it to avoid interference from stale connections.
- Check the app profile: Cloned apps, work profiles, and personal profiles may be treated as separate apps. The same icon does not mean every instance is selected.
- Use “Block connections without VPN” with care: This Android setting may cut off apps that bypass the VPN or aren’t selected. If some apps need a direct connection, don’t enable it without testing first.
Per-app lists and core routing: two separate layers
Per-app proxy determines whether an app enters the VPN. Core routing determines which outbound route its traffic uses. Even when a browser is selected, some domains may still connect directly under your routing rules. Conversely, an excluded app usually never reaches the Xray core, so changing domain rules there won’t enable proxy access for it.
The same distinction applies to DNS. Apps in the tunnel may use system DNS or their own encrypted DNS; excluded apps usually resolve names over their normal network. Browser Secure DNS, the client’s DNS settings, and core routing rules are separate controls. If a domain won’t load while the service is still running, check DNS logs instead of changing battery settings.
- Turn off per-app proxy and test the basic connection with the same browser and node. Confirm that the node and core configuration work.
- Turn per-app proxy back on, select only that browser, and make sure Bypass mode is off. Then stop and restart the service.
- Visit one site that should connect directly and another that should use the proxy. Check the outbound route in the logs; page load speed alone isn’t enough to tell.
- Once the basic behavior is as expected, add other apps one at a time. Keep a list you can restore, and avoid changing DNS, routing, and battery settings at the same time.
Common issues: repeated permission prompts, reversed app selection, and failed reconnects
Why does Android ask for VPN permission every time I start?
The permission prompt is part of Android’s VPN setup and is usually unrelated to the node address. First check whether another VPN app has taken over or Android has cleared the previous authorization, then check the active service under Settings → VPN. Don’t change your node password or protocol just to dismiss the prompt.
I selected my browser. Why isn’t it using the proxy?
Go to Settings → Per-app proxy and check Bypass mode. When it’s on, selected apps bypass the VPN. To route only the browser through the tunnel, turn it off. Save, stop and restart the service, then reopen the browser. If it still connects directly, check the core routing rules.
Why does the VPN still disconnect when the screen is locked, even after I lock the app?
Locking the app in Recent apps does not replace its battery settings. Allow background activity in App info, then check autostart and sleep lists. Test for 10 minutes on a stable network. If the service stays active and only fails after a network switch, troubleshoot network recovery and the node instead of changing the app lock.
An app on the bypass list has no internet access. What should I change?
Go to Android Settings → VPN → v2rayNG and check whether Block connections without VPN is enabled. If excluded apps need direct access, turn off this restriction and test again. Then check mobile data permission and the app’s own network settings.
My phone didn’t reconnect after reboot. Do I need to reinstall the app?
Reinstalling isn’t the first step. Open v2rayNG manually, check that the node is still there, and try starting the service. If it connects, the configuration is intact. Then check the manufacturer’s autostart permission and whether the client offers a start-on-boot setting. If you use Android’s Always-on VPN, verify that it is supported on your device and app version.
Keep a stable, easy-to-understand setup: VPN authorization works, background restrictions are relaxed as needed, the per-app list has a clear purpose, and routing and DNS are tested separately. When something goes wrong, note your Android version, v2rayNG version, the time, network type, and service status. Before sharing logs, hide subscription links, server addresses, and authentication details. These details help diagnose issues more than repeatedly switching protocols.