최근 gradle 버전을 올리면서 기존에 사용하는 HTTP 부분에서 아래와 같은 에러를 확인하였습니다.
Cleartext HTTP traffic "domain" to not permitted
해당 에러에 대해서 간단한 해결방법을 정리하려고 합니다.
1. 문제 원인 (usesCleartextTraffic)
usesCleartextTraffic 은 앱에서 HTTP 네트워크 트래픽을 사용하는지 여부를 나타내는 속성 값입니다.
Android8 (API 27) 이하를 타겟팅하는 앱에서 기본값은 "true" 였지만,
Android9 (API 28) 이상을 타겟팅하는 앱에서는 기본값이 "false" 입니다.
보안관련하여기본적으로 HTTP 접근을 허용하지 않도록 변경되었다고 합니다.
2. 해결 방법
usesCleartextTraffic 속성값은 androidmanifest 에서 아래와 같이 설정해 줄 수 있습니다.
<application
.......
android:usesCleartextTraffic="true">
해당 속성값을 "true" 로바꿔주면 모든 HTTP URL 에 대해서 접근이 가능합니다.
추가로 아래 내용을 참조하면 좋을 것 같습니다.
[참고자료]
0 comments: