본문 바로가기
개발

[안드로이드 코틀린] java.net.UnknownServiceException: CLEARTEXT communication to "XXXXXX" not permitted by network security policy

by kks950115 2024. 1. 26.
728x90

 

java.net.UnknownServiceException: CLEARTEXT communication to apis.data.go.kr not permitted by network security policy

 

api 예제 코드를 복붙하고 실행해보는데 저런 에러가 떴다.

컴파일러에서는 문제없다고 뜨는데 뭐가 문젠가 해서 저 경고를 구글에 검색해보니 https 통신을 강제하기 때문이라고 한다. 

base url을 보니 http로 되어있었다. 근데 분명  해당 api에는 http로 되어있던데.... https도 지원하는건가?

 

해당 url을 인터넷 주소창에 입력하면 http, https 둘 다 뜨긴한다.

그래서 baseUrl()에 들어갈 주소에 https로 바꿔적으니 문제없이 돌아갔다.

둘다 지원하기 때문에 되는 거 같은데 만약 http만 지원하면 아래처럼 하면 된다.

 

 

res/xml/이름.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">api.xxx.com</domain>
    </domain-config>
</network-security-config>

 

요렇게 코드를 작성하고 파일은 임의로 한다.

<application
    ...
    android:networkSecurityConfig="@xml/이름">

 

manifest 파일에 networkSecurityConfig 파일로 지정해주면 된다고 한다.

아니면 

<application
    ...
    android:usesCleartextTraffic="true">

usesCleartextTraffic =true를 추가해주는 방법도 있다고 한다.

 

 

 

728x90
반응형

댓글