본문 바로가기

개발/06.Android

[Android] 안드로이드 Cleartext HTTP traffic 에러 해결

배경 : 기존 앱 관련해서 갑자기 아래와 같은 오류가 떨어짐

 

내용 : 

안드로이드에서 jsoup로 특정 url을 http로 접속 시 오류가 발생하였다.

원인은 안드로이드9(APL Lv 28) 부터 강화된 네트워크 보안정책으로 인한 오류.

예외 처리를 위한 3가지 방법 (1번을 선택하여 해결)

1. AndroidManifest.xml 파일의 <application> 부분에 android:usesCleartextTraffic="true" 로 설정

이 flag를 설정하게 되면 모든 cleartext 트래픽은 허용처리가 됩니다.

 

2. networkSecurityConfig 파일을 생성하고, AndroidManifest 에 등록

res/xml/network_security_config.xml 아래와 같이 추가

xxx.com 등록된 도메인은 https 가 아니어도 허용.

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

아래와 같이 추가할 경우는 secure.xxx.com 도메인만 항상 HTTPS를 통해서만 수행

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

그 다음에 AndroidManifest.xml 파일의 <application> 부분에 networkSecurityConfig속성 추가

<application 
  android:networkSecurityConfig="@xml/network_security_config" 
~~~ >
</application>

 

3.Android Manifest.xml 파일에서 targetSandboxVersion를 1로 설정

SandboxVersion 속성값이 높을수록 보안 수준이 높아지며, 2일 경우 usesCleartextTraffic의 기본값은 false

따라서, 이 속성의 값을 1로 변경하면 문제를 해결

다만 Android 8.0 (API 26) 이상을 타겟팅하는 Android Instant Apps의 경우 이 속성을 2로 설정

참고로 앱이 설치되면 이 속성값을 더 높은 값으로 만 업데이트 할 수 있다고 함.

이 속성값을 다운 그레이드하려면 앱을 제거후 재설치 해야 함.

 

 

 

참고 : https://codinghero.tistory.com/131

https://hitomis.tistory.com/93

 

http 프로토콜 접속 시 예외발생 (Cleartext HTTP traffic to [url address] not permitted)

안드로이드에서 jsoup로 특정 url을 http로 접속 시 오류가 발생하였다. 원인은 안드로이드9(APL Lv 28) 부터 강화된 네트워크 보안정책으로 인한 오류. 예외 처리를 위한 3가지 방법 1. AndroidManifest.xml

hitomis.tistory.com

 

안드로이드 Cleartext HTTP traffic 에러 해결

안드로이드 어플에서 HTTP통신을 통해 서버에 접근하는 경우 Cleartext HTTP traffic to Site not permitted 에러가 발생하였습니다. java.io.IOException: Cleartext HTTP traffic to 11.22.222.33 not permitted 2022-03-02 09:49:38.035

codinghero.tistory.com

 

728x90