-
안드로이드 6.0 target sdk version 28 useLibrary 'org.apache.http.legacy' 알 수 없는 강종현상 해결 방법프로그래밍/Android Studio 2020. 6. 25. 13:46안드로이드 6.0 target sdk version 28 useLibrary 'org.apache.http.legacy'알 수 없는 강종현상 해결 방법
안녕하세요 브로마입니다.
안드로이드 어플리케이션 개발을 하면서 신기한 문제를 맞닥뜨리게 되어 골치아픈 경험에 이 글을 작성합니다. 기존의 어플을 조금 수정하여 새로운 버전의 어플리케이션 업데이트를 하려고 구글 플레이 콘솔에 apk파일을 업로드 하였는데 아래와 같은 업로드 실패가 떠버립니다.
이건 또 무슨 문제인가 내부의 구글 문서를 조금 확인해보니 2019년 11월 부터 Android 9.0 (Api 레벨로는 28) 이상을 타겟팅하지 않은, 즉, 그 이하 레벨의 API를 타겟으로 하는 앱은 업데이트가 되지 않는다는 뜻이었습니다. 그래서 "아 뭐야 타겟만 올리면 쉽게 해결되는 문제겠거니" 하고 gradle파일을 수정하고 sync를 누르고 빌드해야지.. 하고 누르는 순간 에러를 뿜어 내더랍니다.
해서 한 두세시간 정도를 구글에 삽질을 해보았는데 저의 경우 아래의 문제 때문에 위와 같은 에러가 나오던 것이었습니다.
useLibrary 'org.apache.http.legacy'
본인이 작성한 코드에 useLibrary 'org.apache.http.legacy' 가 있는지 한번 확인해보시기 바랍니다. 저의 경우는 이번 에러는 이 부분에서 나타나고 있었습니다. Android 6.0 이상부터는 Apache HTTP 클라이언트 지원 기능이 삭제되었습니다. 그러다가 Android 9 부터는 이 라이브러리가 bootclasspath에서 제거되고 기본적으로 앱 내에서 사용이 불가능해졌습니다.
뭐 이래저래 이유가 있다고는 하는데 해결방법만 간단하게 이야기하자면 아래의 소스들을 추가해주시면 됩니다. 다만 해당 해결방법은 저와 동일하거나 유사한 이유로 문제가 발생하는 분들에게만 해당할 것으로 보입니다.
123456<applicationandroid:usesCleartextTraffic="true" ><uses-libraryandroid:name="org.apache.http.legacy"android:required="false" />cs Cleartext를 허용해주는 것은 application 태그에 넣어주시면 되고 library는 아래쪽 아무곳에나 넣어주면 되는 것 같습니다. 자세한 위치는 다들 아실것이라 생각하고, 위 방법으로 겪고들 계신 문제가 해결되었으면 좋겠네요.
감사합니다.
'프로그래밍 > Android Studio' 카테고리의 다른 글
[Android Studio] TextView 글씨 사이즈 변경하는 방법 (1) 2020.07.06 [Android Studio] 안드로이드 실행중인 앱, 액티비티 종료하기 (0) 2020.06.25 구글 플레이 기기 및 네트워크 악용 정책 관련 정보 해결하여 구글 승인 받기 (0) 2020.06.25 [Android Studio] 안드로이드 웹뷰 로딩시 에러 " ERR_CLEARTEXT_NOT_PERMITTED " (0) 2020.01.10 [Android] 파이어베이스(Firebase) 안드로이드 디버그 서명 SHA-1 인증서 발급받기 (0) 2020.01.10