Android P / 9.0 http 네트워크 요청 이상
2744 단어 googlePlayandroidbug
구 글 은 사용자 데이터 와 기기 의 안전 을 위해 차세 대 안 드 로 이 드 시스템 (Android P) 애플 리 케 이 션 에 암호 화 연결 기본 사용 을 요구 할 것 이 라 고 밝 혔 다. 이 는 안 드 로 이 드 P 가 암호 화 되 지 않 은 모든 연결 을 앱 이 사용 하지 못 하도록 한 다 는 것 을 의미 하기 때문에 안 드 로 이 드 P 시스템 을 실행 하 는 안 드 로 이 드 장 치 는 수신 이나 전송 데이터 와 관 계 없 이 미래 에 공개 적 으로 전송 할 수 없다.차세 대 (Transport Layer Security) 전송 계층 보안 프로 토 콜 을 사용 해 야 하 며, Android Nougat 와 Oreo 는 영향 을 받 지 않 습 니 다.
따라서
Android P
에서 사용 HttpUrlConnection
시 이상 신고1
W/System.err: java.io.IOException: Cleartext HTTP traffic to **** not permitted
OKHttp 를 사용 할 때 도 이상 을 알 릴 수 있 습 니 다.
1
java.net.UnknownServiceException: CLEARTEXT communication ** not permitted by network security policy
Android P 시스템 의 장치 에서 암호 화 되 지 않 은 명문 데 이 터 를 사용 하 는 http 네트워크 요청 을 적용 하면 네트워크 요청 을 할 수 없고 https 는 영향 을 받 지 않 습 니 다. 마찬가지 로 웹 뷰 가 내장 되 어 있 으 면 webview 도 https 요청 만 사용 할 수 있 습 니 다.안 드 로 이 드 P 의 모든 앱 이 TLS 암호 화 를 사용 해 야 인터넷 체험 을 낮 출 수 있다 는 오해 가 있 습 니 다. 사실상 일부 오래된 서버 의 연결 에 대해 앱 이 굳이 명시 적 으로 전송 하려 면 개발 자가 앱 의 네트워크 보안 설정 을 변경 하여 이러한 연결 을 허용 해 야 한 다 는 오해 입 니 다.
해결 방안
res
다음 에 xml
디 렉 터 리 를 추가 한 다음 이름 을 만 들 수 있 습 니 다. network_security_config.xml
파일 (이름 자체), 내용 은 다음 과 같 습 니 다. http 요청 을 허용 한 다 는 뜻 입 니 다.1
2
3
4
5
6
7
그리고
AndroidManifest.xml
파일 에 있 는 애플 리 케 이 션 탭 에 한 줄 속성 을 추가 합 니 다.1
2
3
4
5
6
7
8
...
방법 2 목록 파일 에 추가 android:usesCleartextTraffic=”true” 속성
1
2
3
4
5
6
7
8
9
10
더 많은 인자 수정:https://developer.android.com/training/articles/security-config#trust-anchors
참조 링크
https://www.jianshu.com/p/57047a84e559
https://android-developers.googleblog.com/2018/04/protecting-users-with-tls-by-default-in.html
https://android-developers.googleblog.com/2018/04/dns-over-tls-support-in-android-p.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Shirates에서 상대 선택기를 사용하는 방법 - 1부 -이것은 간단하고 강력한 표현입니다(참조). 오른쪽, 아래, 왼쪽, 위 방향으로 상대적으로 위젯을 얻을 수 있습니다. 올바른 방향의 위젯 올바른 방향으로 입력 라벨을 올바른 방향으로 올바른 방향으로 이미지 :오른쪽 버...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.