android:usesCleartextTraffic 관련
단말(안드로이드) <-> 서버 통신을 통해 인증 및 데이터를 송수신 하는 App 을 개발하던 중 특정 단말기(안드로이드)에서 통신이 안되는 문제가 발생하여 원인을 찾던중 안드로이드 9.0 파이(Pie)로 업데이트 되면서 API 주소, 이미지 주소 등 네트워크 경로가 https 가 아닌 http로 되어 있기 때문에 발생하는 문제로 확인됨.
안드로이드 9.0 파이는 https 를 사용하도록 강제하며 주소가 http인 경우 통신이 안되는 문제가 발생하여 해결 방법을 정리 하고자 함.
해결 방법 1
=> App 내에서 통신에 사용되는 주소를 http -> https 로 변경한다.
해결 방법 2
=> res/xml/network_security_config.xml 파일을 생성하고 하단 내용을 기입한다.
=> AndroidManifest.xml 파일을 아래 처럼 변경한다.
해결 방법 3
=> AndroidManifest.xml 파일에 usesCleartextTraffic 관련 옵션을 추가 한다.
해결 방법은 대략 3가지 정도가 있는것으로 확인 했으며 해당 프로젝트는 3번 방법을 통해 통신이 정상 작동 하는것을 확인 했지만 1번 방법이 가장 좋을것 같아 추후에 API 주소를 변경하고자 함.
출처 : https://stackoverflow.com/questions/45940861/android-8-cleartext-http-traffic-not-permitted