지난 10월 한달 동안 프로젝트 내에서 백엔드 개발을 담당했는데, 아직 개발 단계라 SSL을 적용하지 않은 http 통신으로 rest api를 구축하였다. 내 테스트용 디바이스는 출시한지 꽤 날짜가 지난 넥서스였는데, api와 통신에 문제가 없어서 괜찮은 줄 알았다...
그런데 다른 휴대폰에서 동작이 안되서 원인이 뭘까하고 찾아보다가(욕을 많이 먹었다)
안드로이드에서는 기본적으로 HTTP 접근을 허용하지 않는단 것을 알게 되었다. 그래서 기록해둔다.
안드로이드 Pie(API28)부터는 cleartext HTTP를 비활성화한다.
그러므로 API28 버전 이후부터는 강화된 네트워크 보안 정책으로 인해
Http에 접근하려면 cleartext HTTP를 활성화 시켜야 한다.
AndroidManifest.xml 파일 내부에
application 태그 내부에 android:usesCleartextTraffic="true" 로 설정을 추가해주면 된다.