본문 바로가기
개발이야기/Flutter + Dart

[Flutter] 가상 디바이스에 로컬 서버 연결할 때 주의사항

by 센트빈 2020. 7. 29.
반응형

가상 디바이스에서 앱으로 통신 테스트를 할 때 발생했던 이슈입니다.

보통 앱에서 통신을 할 때 아마존이나 파이어베이스 같은 외부 서버와 통신을 합니다.

그러면 연결 오류가 생기는 경우는 거의 없습니다. IP 주소랑 port 등을 주기 때문에 권한 문제로 생기는 것 말고는 발생할 이유가 없죠.

다만 로컬 서버에서 서버를 연결할 때 localhost나 127.0.0.1로 서버를 올린다면, 앱에서 오류가 발생하게 됩니다.

가장 많이 접하는 에러는 안드로이드 경우 Permission 에러입니다. 안넣어도 될 수도 있지만, 권한 문제로 연결이 안될 때 가장 먼저 넣어봅니다.

아래 코드를 android/app/src/main/AndroidManifest.xml 에 넣어줍니다.

<uses-permission android:name="android.permission.INTERNET"/>

그 다음은 앱에서 로컬 서버로 접근하는 IP 주소를 바꿔줍니다.

127.0.0.1 ⇒ 10.0.2.2

 

위에 IP를 몰라서 3시간 날렸네요.

 

Andorid Developers 문서를 보시는 안드로이드 개발자 분들은 알고 있지만, Flutter로 시작하는 분들은 몰라서 해맬 수도 있겠네요.

아래 링크에 더 자세한 안내 사항이 있습니다.

https://developer.android.com/studio/run/emulator-networking?hl=ko

 

위의 셋팅을 통해서 시간을 단축하면 좋겠습니다.

감사합니다.

반응형

댓글