일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 안드로이드
- 자취필수템
- 목적중심리더십
- 리얼하다
- 면접
- 북한살둘레길
- 재택근무
- 지지않는다는말
- 아비투스
- T자형인재
- 테트리스
- 소프시스
- 한달브런치북만들기
- 한달독서
- 끝말잇기
- 좌식테이블
- 브런치작가되기
- 커스텀린트
- 프래그먼트
- 소프시스 밤부 좌식 엑슬 테이블
- 한달어스
- 베드트레이
- 어떻게 나답게 살 것인가
- 목적 중심 리더십
- 1일1커밋
- 슬기로운 온라인 게임
- 함수형 프로그래밍
- 캐치마인드
- 베드테이블
- 한단어의힘
- Today
- Total
정상에서 IT를 외치다
[Android, TargetVersion 28] TargetVersion 28 에 따른 조치 사항 본문
안녕하세요. 블랙진입니다.
2018년 8월 6일 안드로이드 9 Pie가 정식 출시 되었습니다. 이에 발맞춰 안드로이드 TargetVersion 을 28로 올려야 되는 시련이 우리에게 찾아왔습니다. ㅠㅜ
위 링크와 설명을 보면 신규앱은 2019년 8월 까지, 기존의 앱은 2019년 11월 까지 TargetVersion 을 28로 올려야 됩니다. 버전을 올리지 않으면 구글스토어에서 업데이트를 받을 수 없다고 합니다.
- August 2019: New apps are required to target API level 28 (Android 9) or higher.
- November 2019: Updates to existing apps are required to target API level 28 or higher.
다행히 TargetVersion 28로 올리면서 발생하는 변경사항 및 해결책을 구글에서 정리해 주었습니다. 업데이트 전에 한번더 꼼꼼히 확인을 해봐야겠지요?
TargetVersion 을 28로 올리면서 겪었던 에러사항에 대해서 정리해보았습니다.
<1. Error>
NetWebClient.java
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/message/HeaderGroup;
<solution>
- Apache HTTP 클라이언트 지원 중단
Android 6.0에서는 Apache HTTP 클라이언트에 대한 지원이 제거되었습니다. Android 9부터는 이 라이브러리가 bootclasspath에서 제거되고 기본적으로 앱에서 사용할 수 없습니다.
Android 9 이상을 대상으로 하는 앱이 Apache HTTP 클라이언트를 계속 사용하려면 다음을 AndroidManifest.xml
에 추가해야 합니다.
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
<2. Error>
안드로이드 웹뷰 사용시 위와 같이 ERR_CLEARTEXXT_NOT_PREMITTED 에러와 함께 동작이 안되었습니다.
<solution>
- 기본적으로 네트워크 TLS 사용
앱이 Android 9 이상을 대상으로 하는 경우 isCleartextTrafficPermitted()
메서드는 기본적으로 false
를 반환합니다. 앱이 특정 도메인을 위해 일반 텍스트를 사용할 필요가 있을 경우 cleartextTrafficPermitted
앱의 네트워크 보안 구성에서 해당 도메인을 true
로 명시적으로 설정해야 합니다.
android:usesCleartextTraffic="true"
웹뷰를 많이 사용하는 경우라면 AndroidManifest <application>에 위 코드를 꼭 추가해 주어야 합니다.
- 지속적인 에러 리포팅 후 발생한 에러에 관해 계속 추가 정리할 예정입니다.
'안드로이드' 카테고리의 다른 글
[Android, Dagger2] ContributesAndroidInjector 사용해보기 (2) | 2019.03.17 |
---|---|
[Android, Double Scroll] 이중 스크롤 어떻게 구성하면 좋을까? (6) | 2019.03.08 |
[Android, MVP, Dagger] MVP 기본 예제 - Dagger 사용하기 (0) | 2019.02.08 |
[Android, MVP, Room] MVP 기본 예제 - Room 활용 (0) | 2019.02.07 |
[Android, MVP] MVP 기본 예제 (0) | 2019.02.07 |