안드로이드 개발은 버전이 업데이트되면서, 네트워크 관련 라이브러리들도 파편화되거나 통합되기 마련이다.
이 과정에서 일부 라이브러리는 deprecated 되면서, 특정 버전 이전에는 지원을 하지 않는 이슈가 발생했다.
간혹,, 잘 되던 서비스가 특정 안드로이드 버전에서 막히거나 오류가 생기면 10에 4 정도는 라이브러리 지원이 멈춘 영향
과거 네트워크/이미지 처리를 간편하게 도와주는 라이브러리로 AQeury(android-query)가 강세였다.
이로 인해, 수많은 프로젝트에서 AQeury를 사용하게 되었다.
하지만, 현재는 Retrofit이 대세가 되면서 2014년 2월 이후로 AQuery 라이브러리의 업데이트는 멈추었다.
나 또한 최근 서비스를 업데이트 하면서 아래와 같은 Error Code를 접하게 되었다.
Caused by : java.lang.IllegalStateException: Expected Android API level 21+ but was 19
이 말인 즉, 현재 안드로이드 API 레벨에서 21(롤리팝) 이상을 요구하는데 현재는 19(킷캣)이다.
OkHttp에서는 Android 4.4 (킷캣) 버전에 대한 지원을 중단한 상황이다.
하지만 우리는 서비스 상, 낮은 버전의 이용자들도 정상적으로 기능이 지원돼야 하는 게 아니던가..
물론 해결책은 있다.
# 해결책 (build.gradle 옵션 추가)
//OkHttp
implementation ("com.squareup.okhttp3:okhttp:3.12.12"){
force = true //API 19 support
}
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.12'
참고로 위 해결책의 유지기한은 2020년 12월 31일까지 해당 branch를 유지할 계획이라고 한다.
Okhttp:3.12.12 git 주소 참고
'안드로이드' 카테고리의 다른 글
WebView에서 외부 브라우저 새 창 띄우기 방법 (0) | 2020.11.14 |
---|---|
Android Studio 4.1.1 업데이트 이후 오류 발생 및 해결책 (0) | 2020.11.14 |
Didn't find class "com.google.firebase.provider.FirebaseInitProvider" 오류 해결책 (0) | 2020.10.30 |
[Https 오류] Android API level 21+ but was 19 in Android (0) | 2020.10.19 |
드로이드 나이츠(DroidNight) 1일차 세션 후기 (0) | 2020.09.05 |
댓글