Android 앱에서 로컬 서버 접속이 안 될 때 해결법

밤새·2025년 6월 18일
0

🤔 Android 앱에서 로컬 서버 접속이 안 될 때 해결법

상황 요약
Android Studio에서 실제 휴대폰을 USB로 연결해 앱 화면을 보던 중,
노트북에서 로컬로 실행 중인 백엔드 서버 API와 연동을 시도했지만,
네트워크 요청이 전혀 날아가지 않거나, Failed to connect 에러가 발생했던 상황입니다.


🔍 에러 내용

Retrofit 사용 시 onFailure()로 떨어지며 서버 응답이 아예 도달하지 않음

🔍 원인 정리

원인설명
localhost 사용휴대폰 기준의 localhost는 자기 자신, 즉 노트북이 아님
10.0.2.2 사용에뮬레이터 전용 IP, 실제 기기에서는 동작 안 함
❌ 올바른 IP 아님노트북의 내부 IP를 사용해야 연결 가능

✨ 해결 방법

1. 노트북 IP 확인

터미널에서 IP 확인

  • Windows: ipconfig
  • macOS/Linux: ifconfig

→ 나오는 IPv4 주소 확인 (예: 192.168.0.23)

이게 실제 기기에서 접근할 주소입니다!


2. 안드로이드 앱의 RetrofitClient에서 BASE_URL 수정

val BASE_URL = "http://192.168.0.23:8000"

RetrofitClient나 네트워크 모듈에 위 IP를 직접 지정해 주세요.
포트 번호는 서버 실행 시 설정한 값과 동일하게!


3. 기타 확인 사항

  • 휴대폰과 노트북이 같은 와이파이에 연결되어 있어야 함
  • Android 앱에서 HTTP 연결 허용 설정 (AndroidManifest + network_security_config)
  • 방화벽이 포트를 막고 있지 않은지도 확인

정리 요약

문제해결 방법
앱에서 서버 접속 안 됨ipconfig로 IP 확인 후 BASE_URL 수정
localhost, 10.0.2.2로 접근 실패실기기에서는 사용 불가, IP 직접 사용
연결 에러서버를 0.0.0.0으로 실행하고, 방화벽·네트워크 설정 확인

결론

Android 앱에서 로컬 서버 접속이 안 될 때는,
노트북의 IP 주소를 직접 확인하고
그 IP를 BASE_URL로 지정해주는 게 가장 확실한 해결법입니다~!

profile
프로젝트를 통해 배운 개념이나 겪은 문제점들을 정리하고, 회고록을 작성하며 성장해나가는 곳입니다 😊

0개의 댓글