티스토리 뷰
모바일개발/안드로이드
CLEARTEXT communication to x not permitted by network security policy
에러창꼬 2022. 7. 7. 23:17상황 : retrofit으로 내부 개발 서버로 API를 호출한 상황에서 발생
오늘 안드로이드 retrofit을 사용하여 내부 개발 서버의 API를 호출하였는데 아래와 같은 에러가 발생하였습니다.
java.net.UnknownServiceException: CLEARTEXT communication to {domain} not permitted by network security policy
at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:164)
at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.java:224)
at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.java:108)
at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.java:88)
at okhttp3.internal.connection.Transmitter.newExchange(Transmitter.java:169)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:41)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:94)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:229)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:172)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
위 에러는 안드로이드 버전이 오르며 강화된 보안정책으로 인하여 SSL을 사용하지 않은 http 프로토콜로 된 도메인에 요청을 하는 경우 발생하는 오류로 다음과 같이 해결 가능합니다. (내부 개발에서는 http를 쓰더라도 실제 운영 상황에서는 가급적이면 https를 사용하는 게 좋습니다.)
<해결방법>
AndroidManifest.xml 파일의 <application> 태그에 다음과 같은 옵션 추가
android:usesCleartextTraffic="true"
한 줄만 추가 하면 끝~!!
반응형
'모바일개발 > 안드로이드' 카테고리의 다른 글
Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. (0) | 2022.07.27 |
---|---|
Overload resolution ambiguity. All these functions match. (0) | 2022.07.22 |
안드로이드 화면 미러링 프로그램 추천 (feat. SCRCPY) (0) | 2022.07.12 |
error: more than one device/emulator (0) | 2022.07.03 |
안드로이드폰 개발자옵션 켜기 (feat. 갤럭시) (0) | 2022.07.03 |
댓글
최근에 올라온 글
최근에 달린 댓글