반응형
가상 디바이스에서 앱으로 통신 테스트를 할 때 발생했던 이슈입니다.
보통 앱에서 통신을 할 때 아마존이나 파이어베이스 같은 외부 서버와 통신을 합니다.
그러면 연결 오류가 생기는 경우는 거의 없습니다. 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
위의 셋팅을 통해서 시간을 단축하면 좋겠습니다.
감사합니다.
반응형
'개발이야기 > Flutter + Dart' 카테고리의 다른 글
[Flutter] Inherited Widget (0) | 2020.04.19 |
---|---|
[Flutter] Provider 패턴 (0) | 2020.02.25 |
[Flutter] Firebase 연동 - google Login (0) | 2020.02.20 |
[Flutter] AndroidX 마이그레이션 문제 해결 방법 (0) | 2020.02.19 |
Dart로 Server와 Client 만들기 - 2화 (1) | 2019.11.17 |
댓글