[Flutter]안드로이드 에뮬레이터에서 localhost 접속

2022년 05월 03일 by 진아사랑해

    [Flutter]안드로이드 에뮬레이터에서 localhost 접속 목차
반응형

flutter 또는 java 등 다른 언어를 사용하는 경우에 앱을 개발하기 위해 Android Emulator를 사용한다

이 경우에 네트워크에 있는 서버를 접속하여 시험 및 디버깅을 하는 경우에는 문제가 없다

 

그러나 자신의 PC에 서버를 만들고 시험하는 경우 즉, localhost로 접속하는 경우에는 접속이 되지 않는 문제가 

발생한다

 

애플(ios) 에뮬레이터를 구동시켜 시험하는 경우에는 기존처럼 127.0.0.1로 접속하면 된다

안드로이드 에뮬레이터의 경우에는 IP를 10.0.2.2로 접속하여야 한다

 

안드로이드 에뮬레이터의 경우에는 또 다른 문제는 http와 https의 문제이다

구글에서 보안 정책을 강화하면서 API Level 28부터 보안 정책이 강화되었다

 

이를 해결하기 위해

android\app\src\main\AndroidManefest.xml에 내용을 추가하였다

    <uses-permission android:name="android.permission.INTERNET"/>
    <application
        android:usesCleartextTraffic="true"
 
android:usescleartexttraffic="true"는 http 방식도 접속을 허용하게 해주는 문구이다
 
그리고 에뮬레이터(Virtual Device) 버전을 Pie 버전으로 새로 만들었다
 
로컬 호스트에 있는 서버로 부터 Json 화일을 가져오는 것은 아무런 문제가 없었다
그러나 서버에 있는 이미지 즉, 네트웍 이미지를 가져오는데 문제가 발생하였다
 
그래서 어쩔 수없이 API Level 27인 Oreo 버전 Virtual Device를 또 만들었다
 
로컬 서버에 있는 Json 또는 Image를 가져 오는데 아무런 문제없이 동작하여 추가적인 
디버깅을 할 수 있게 되었다
 
즐거운 시간되세요
 
 

 

 

 

 

 

반응형