반응형
안드로이드 9 (Pie) 이상에서 HTTP 통신을 사용해야 하는 경우에는 몇 가지 해결 방법이 있습니다. 여기에는 앱 개발자가 일시적으로 또는 특정 도메인에 대해서만 HTTP 통신을 허용할 수 있도록 설정하는 방법이 포함됩니다.
1.usesCleartextTraffic 플래그를 추가
AndroidManifest.xml 파일에 usesCleartextTraffic 플래그를 추가하여 앱의 전체 트래픽에 대해 HTTP 통신을 허용합니다.
<application
...
android:usesCleartextTraffic="true"
... >
</application>
위 방법은 모든 도메인에 대해 http 통신을 허용하므로 가능한 한 사용하지 않는 것이 좋습니다.
2. network_security_config.xml 파일을 생성
특정 도메인에 대해서만 HTTP 통신을 허용하려면 res/xml 디렉토리에 network_security_config.xml 파일을 생성하고 다음과 같이 구성합니다.
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">http.example.com</domain>
</domain-config>
</network-security-config>
위 예에서는 http.example.com 도메인 (및 하위 도메인)에 대해서만 http 통신이 허용됩니다.
마지막으로, AndroidManifest.xml 파일에 위에서 작성한 network_security_config.xml 파일을 연결해야 합니다.
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...>
이러한 설정을 완료하고 앱을 다시 빌드하면, 특정 도메인에 대한 http 통신이 가능해집니다.
단, 앱 개발이 완료되면 실제 배포 전에 HTTPS 통신으로 전환하시길 권장드립니다.
728x90
반응형
댓글