Skip to content

Instantly share code, notes, and snippets.

@jongha
Last active April 28, 2019 07:25
Show Gist options
  • Save jongha/479fa86e51c5e1a17df7998506fa8e97 to your computer and use it in GitHub Desktop.
Save jongha/479fa86e51c5e1a17df7998506fa8e97 to your computer and use it in GitHub Desktop.
android-net-error-cleartext-not-permitted

res/xmlnetwork_security_config.xml 파일을 만들고 내용을 다음과 같이 한다. cleartextTrafficPermittedfalse로 변경하면 https만 허용된다. 보안파일 구성에 대해서 더 알아보고자 한다면 여기를 참고한다.

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

AndroidManifest.xml에 아래처럼 networkSecurityConfig를 설정한다.

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:networkSecurityConfig="@xml/network_security_config"
        ...>
        ...
    </application>
</manifest>

AndroidManifest.xml 에서 android:usesCleartextTraffictrue로 설정한다. 웹뷰를 사용해야 한다면 이 옵션을 사용해야 한다.

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>
</manifest>

AndroidManifest.xml 에서 targetSandboxVersion1로 설정한다. targetSandboxVersion의 버전은 높을 수록 더 높은 보안설정을 사용한다. 기본설정은 2이다.

<?xml version="1.0" encoding="utf-8"?>
<manifest android:targetSandboxVersion="1">
    <uses-permission android:name="android.permission.INTERNET" />
    ...
</manifest>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment