[Flutter] Cleartext HTTP traffic to Site not permitted 이슈 해결

2023-11-17


 

사진: Unsplash 의 NEOM


1. 원인

 

기본적으로, Android 9 (API 레벨 28)부터는 usesCleartextTraffic가 기본적으로 비활성화되어 있다. 이는 보안 상의 이유로, HTTPS(SSL/TLS)를 통한 암호화된 연결을 사용하도록 권장하기 때문인데, 안드로이드 9 이상의 버전에서는 기본적으로 암호화되지 않은 트래픽이 차단되며, NetworkSecurityConfig를 사용하여 명시적으로 허용할 수 있다.


2. 방법

 

방법은 간단하다. AndroidManifest.xml 로 들어가 설정 정보를 변경해주면된다.

 


아래와 같이 application 단에서 android:usesCleartextTraffic="true" 설정 정보를 추가해 주면 된다.

 

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- The INTERNET permission is required for development. Specifically,
         the Flutter tool needs it to communicate with the running application
         to allow setting breakpoints, to provide hot reload, etc.
    -->
    <uses-permission android:name="android.permission.INTERNET"/>
        <application
        android:usesCleartextTraffic="true">
    </application>
</manifest>

 


메인 이미지 출처 : 사진: UnsplashNEOM