이 글은 v2rayNG의 Android 시스템 레벨 설정 세 가지만 다룹니다. VpnService 권한과 상시 알림, 배터리 최적화 예외, 앱별 프록시 목록입니다. 연결은 되는데 잠금 화면 후 끊기거나 일부 앱만 프록시를 쓰고 싶은 분께 맞습니다. 순서대로 한 번 적용해 두면 '아이콘은 살아 있는데 페이지가 안 열리는' 문제를 최소한으로 줄일 수 있습니다.
세 가지 설정이 각각 다른 구간을 담당합니다
v2rayNG는 Android에서 평범한 백그라운드 프로세스가 아닙니다. 시스템의 VpnService를 통해 가상 네트워크 인터페이스를 만들고, 앱 트래픽이 이 인터페이스로 들어온 뒤 내장 Xray 코어에서 처리됩니다. 이 경로가 안정적으로 돌아가려면 세 가지가 동시에 성립해야 합니다. 시스템이 VPN 생성을 허용하고, 프로세스가 화면이 꺼진 뒤에도 동결되지 않으며, 대상 앱의 트래픽이 실제로 인터페이스로 들어와야 합니다.
세 가지 설정이 이 세 조건에 정확히 대응합니다. VpnService 권한과 상시 알림은 '권한'을, 배터리 최적화 예외는 '생존'을, 앱별 프록시 목록은 '분기'를 담당합니다. 연결 실패, 잠금 화면 후 끊김, 일부 앱 이상은 대부분 이 중 한 곳으로 귀결됩니다.
VpnService 권한과 상시 알림
메인 화면에서 '연결' 버튼을 처음 누르면 시스템이 '연결 요청' 대화상자를 띄우며 v2rayNG가 VPN 연결을 만들려 한다고 알려 줍니다. '이 앱을 신뢰함'을 체크한 뒤 '확인'을 눌러야 권한이 기억됩니다. '취소'를 누르거나 체크하지 않으면 다음 연결 때 다시 물어봅니다.
연결 요청 허용
첫 연결 때 시스템 팝업에서 '이 앱을 신뢰함'을 체크하고 '확인'을 누릅니다. 권한 요청은 한 번만 뜨고, 거부하면 연결할 때마다 다시 묻습니다.
상시 알림 유지
연결에 성공하면 알림창에 v2rayNG 알림이 하나 표시되는데, 이것이 포그라운드 서비스의 증표입니다. 알림창에서 이 알림을 밀어 지우는 것은 연결을 스스로 끊는 것과 같습니다.
최근 작업 목록 잠금
최근 작업 목록을 열고 v2rayNG 카드를 아래로 당기거나 카드의 자물쇠 아이콘을 눌러 고정하면, '일괄 정리'로 함께 지워지는 것을 막을 수 있습니다.
자동 시작 허용
시스템 앱 관리에서 v2rayNG의 자동 시작 스위치를 켜 두세요. 그렇지 않으면 휴대폰을 재부팅한 뒤 연결을 직접 한 번 눌러야 합니다.
상시 알림은 그냥 끌 수 없습니다. 알림이 거슬린다면 시스템 '설정' → '앱' → 'v2rayNG' → '알림'에서 해당 채널의 중요도를 낮추거나 무음으로 설정하세요. 알림은 그대로 존재하되 소리도 배너도 나오지 않습니다. 반대로 알림 권한 자체를 꺼 버리면 일부 시스템에서는 포그라운드 서비스까지 제한해 연결이 오히려 더 쉽게 회수됩니다.
주의
Android에서는 동시에 하나의 VpnService만 활성화됩니다. 기기에 VPN 인터페이스를 쓰는 다른 앱이 있다면 나중에 연결한 쪽이 먼저 연결한 쪽을 밀어냅니다. 연결이 실패하면 알림창에 다른 VPN 아이콘이 이미 있는지 먼저 확인하세요.
배터리 최적화 예외: 백그라운드 정리에서 프로세스 살려 두기
Android 8.0부터 백그라운드 앱에 실행 제한이 붙었고, Doze(저전력 모드)에 들어가면 백그라운드 네트워크 접근이 통째로 멈춥니다. v2rayNG는 장시간 연결을 유지하는데, 프로세스가 동결되면 TCP 연결이 조용히 끊어집니다. 상태 표시줄 아이콘은 그대로인데 웹페이지가 열리지 않는 증상이 바로 이것입니다.
해결책은 v2rayNG를 배터리 최적화 대상에서 제외하는 것입니다. 제조사마다 항목 이름은 다르지만 목표는 같습니다. 백그라운드에서 제한 없이 실행되도록 허용하는 것입니다.
제한 없음
권장시스템이 프로세스를 동결하지 않아 화면이 꺼져도 장시간 연결이 유지되고, 백그라운드 요청과 푸시도 영향을 받지 않습니다.
적합: 프록시를 오래 켜 두고 안정적인 연결이 필요한 경우
최적화됨
시스템 기본값입니다. 화면이 꺼진 뒤 일정 시간이 지나면 백그라운드 네트워크와 웨이크업이 제한되어 연결이 조용히 회수될 수 있습니다.
적합: 화면이 켜져 있을 때만 직접 연결하고 가끔 재연결되는 정도는 괜찮은 경우
제한됨
백그라운드 활동이 강하게 억제되어 화면이 꺼지고 몇 분 안에 동결될 수 있으며, 복구할 때 핸드셰이크를 처음부터 다시 해야 합니다.
적합: 임시 테스트, 쓰고 바로 끊는 경우
| 시스템 | 설정 경로 | 목표 상태 |
|---|---|---|
| MIUI / HyperOS | 설정 → 앱 설정 → 앱 관리 → v2rayNG → 절전 정책 | 무제한 |
| EMUI / HarmonyOS | 설정 → 앱 → 앱 자동 시작 관리 → v2rayNG | 수동 관리, 세 항목 모두 켜기 |
| ColorOS / realme UI | 설정 → 배터리 → 앱 전력 사용 관리 → v2rayNG | 백그라운드 실행 허용 |
| OriginOS / Funtouch | 설정 → 배터리 → 백그라운드 전력 관리 → v2rayNG | 백그라운드 고전력 사용 허용 |
| 순정 Android / Pixel | 설정 → 앱 → v2rayNG → 배터리 | 제한 없음 |
설정을 바꾼 뒤에는 검증을 한 번 해 보세요. 프록시에 연결한 상태로 화면을 끄고 10분 두었다가, 다시 화면을 켜서 아무 웹페이지나 열어 봅니다. 첫 로딩이 눈에 띄게 버벅이거나 아예 실패한다면 화면이 꺼진 동안 연결이 회수된 것이므로 위 두 단계를 다시 확인하세요. 놓치기 쉬운 곳이 하나 더 있는데, 바로 '데이터 절약 모드'입니다. 시스템 '설정' → '네트워크 및 인터넷' → '데이터 절약 모드'에서 v2rayNG에만 제한을 걸어 두면 백그라운드 트래픽 역시 차단됩니다.
앱별 프록시: 갈 곳은 가고, 직결할 곳은 직결
진입 경로는 메인 화면 오른쪽 위 메뉴 → '설정' → '앱별 프록시'입니다. 열면 모드 선택과 앱 목록이 나옵니다. 세 모드의 차이는 '체크가 무엇을 뜻하는가'뿐이니, 먼저 표를 보고 시작하세요.
| 모드 | 체크한 앱 | 체크하지 않은 앱 | 대표적인 사용법 |
|---|---|---|---|
| 끔(기본값) | — | 전부 프록시 경유 | 앱 구분 없이 전역 전달 |
| 선택한 앱만 프록시 | 프록시 경유 | 직접 연결 | 브라우저와 몇몇 앱만 외부로 내보내기 |
| 선택한 앱만 우회 | 직접 연결 | 프록시 경유 | 전역 프록시, 중국 본토 앱만 따로 직접 연결로 허용 |
모드를 잘못 고르면 나타나는 대표적 증상은 이렇습니다. 분명히 어떤 앱을 체크했는데 오히려 느려집니다. 현재 모드가 '선택한 앱만 프록시'라면 체크는 그 앱을 직접 연결이 아니라 프록시로 보내라는 뜻이기 때문입니다. 모드를 바꾸기 전에 내가 원하는 것이 화이트리스트인지 블랙리스트인지 먼저 확인하세요.
- 은행·결제 앱: 직접 연결 목록에 넣습니다. 이런 앱은 로그인 IP와 지역의 일관성에 민감합니다.
- 중국 본토 동영상·음악·배달 앱: 직접 연결로 지정합니다. 프록시를 거치면 속도 제한이나 지역 판정 오류가 날 수 있습니다.
- 브라우저와 해외 네트워크가 필요한 앱: 프록시 목록에 넣습니다.
- 앱 마켓과 시스템 업데이트: 필요에 따라 선택합니다. 프록시를 거치면 업데이트 서버의 속도 제한을 피할 수 있고, 직접 연결하면 데이터를 아낄 수 있습니다.
목록을 바꾼 뒤에는 연결을 끊었다가 다시 연결하는 것이 좋습니다. 앱별 목록은 VpnService를 만들 때 시스템에 함께 전달되므로, 목록만 바꾸고 재연결하지 않으면 일부 시스템에서는 즉시 반영되지 않습니다.
적용 범위 안내
앱별 프록시는 VpnService를 거치는 트래픽에만 적용됩니다. 앱 자체의 프록시 설정이나 같은 네트워크 안의 직접 요청은 이 목록의 적용 대상이 아닙니다.
구독 업데이트, 라우팅 분기와의 조합
앱별 프록시는 '어떤 앱이 외부로 나가느냐'를, 라우팅 분기는 '어떤 도메인과 IP가 직접 연결되느냐'를 정합니다. 둘은 겹쳐서 적용됩니다. 트래픽은 먼저 앱 기준으로 걸러지고, 그다음 라우팅 규칙에 맞춰집니다. 그래서 어떤 앱을 프록시 목록에 넣었다고 해서 그 앱의 모든 요청이 나가는 것은 아닙니다. 대상 도메인이 직접 연결 규칙에 걸리면 그대로 직접 연결됩니다.
v2rayNG의 '라우팅 설정'에 입력한 직접 연결 도메인과 직접 연결 IP 목록은 최종적으로 다음과 비슷한 규칙을 만듭니다.
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{ "type": "field", "outboundTag": "direct", "domain": ["geosite:cn"] },
{ "type": "field", "outboundTag": "direct", "ip": ["geoip:cn"] },
{ "type": "field", "outboundTag": "proxy", "network": "tcp,udp" }
]
}
}
구독 업데이트는 별개의 경로입니다. v2rayNG가 구독을 가져올 때는 앱 자체의 요청을 사용하며 앱별 프록시 목록을 거치지 않습니다. 구독 주소에 접속하려면 프록시가 필요하다면, 먼저 메인 화면에서 사용 가능한 노드에 연결한 뒤 '구독 그룹'으로 돌아가 '모든 구독 업데이트'를 누르세요. 업데이트가 실패하면 앱별 목록을 계속 고치기보다 노드가 살아 있는지 먼저 확인하세요.
결론: 목록을 먼저 정하고 규칙은 나중에
앱별 프록시는 '누가 외부로 나가느냐'를, 라우팅 분기는 '어디로 직접 연결하느냐'를 담당합니다. 목록이 정해지지 않은 상태에서 규칙을 쌓으면 두 스위치가 서로를 덮어써서 문제를 추적할 수 없게 됩니다. 앱별 목록을 먼저 안정시킨 뒤, 소수의 도메인에만 직접 연결 규칙을 추가하세요.
자주 묻는 질문
알림창에 계속 '연결됨'이 뜨는데 끌 수 있나요?
그것은 포그라운드 서비스의 상시 알림이며, 끄면 연결이 끊기는 것과 같습니다. 거슬림을 줄이려면 시스템 '설정' → '앱' → 'v2rayNG' → '알림'에서 중요도를 낮추거나 무음으로 설정하고, 알림 권한 자체를 끄지는 마세요.
화면을 잠그고 몇 분 뒤 자동으로 끊기고, 재연결에도 몇 초가 걸리나요?
배터리 최적화가 '제한 없음'으로 되어 있는지 먼저 확인하고, 최근 작업에서 카드를 잠근 다음, 마지막으로 '데이터 절약 모드'가 v2rayNG를 제한하고 있지 않은지 점검하세요. 세 단계 중 하나라도 빠지면 화면이 꺼진 뒤 동결될 수 있습니다.
앱별 프록시에서 특정 앱을 체크했는데도 그 앱이 계속 프록시로 나가나요?
현재 모드가 '선택한 앱만 프록시'인지 '선택한 앱만 우회'인지 먼저 보세요. 두 모드는 의미가 반대입니다. 그다음 해당 앱에 별도 프로세스나 푸시 하위 프로세스가 있어 체크되지 않았는지 확인하세요. 목록을 바꾼 뒤에는 연결을 끊고 다시 연결하세요.
전역 프록시에서 중국 본토 앱이 느려지면 어떻게 하나요?
'선택한 앱만 우회'로 바꾸고 중국 본토 앱을 하나씩 체크하세요. 또는 앱별 프록시를 끄고 '라우팅 설정'에서 geosite:cn, geoip:cn으로 직접 연결되게 하세요.
휴대폰을 바꾸면 설정은 어떻게 옮기나요?
구독 주소는 다시 가져오면 됩니다. 수동으로 추가한 노드는 공유 링크로 내보낸 뒤 새 기기에서 '클립보드에서 가져오기'로 붙여 넣으세요. 앱별 프록시 목록은 함께 넘어가지 않으므로 다시 체크해야 합니다.