개발하는 두더지

AndroidX 와 Support 라이브러리 정리 본문

Java,Android

AndroidX 와 Support 라이브러리 정리

덜지 2019. 12. 4. 14:59

Support 라이브러리 (android.support.* ) v4, v7, v13 의 숫자는 api 4 이상, api 7 이상, api 13 이상을 의미함.

요즘같이 카카오, 금융권 min 19 를 사용하는데 그 숫자가 점점 무의미해지고 있음.

 

그런데 v4의 경우 support 24.2.0 에서 api 8 이하 지원을 중단해서 v4가 api 4이상이 아님.

심지어 support 26 에서는 최소 api 14로 올라감.

 

Android 9.0(API 레벨 28)의 출시와 함께 Jetpack의 일부인 새로운 버전의 지원 라이브러리 AndroidX가 출시됨

support 28.0.0 기반 + Jetpack의 최신기능을 포함한 서포트 라이브러리임.

 

AndroidX 는 core 를 비롯하여 ui dependency를 별도로 추가할 수 있음

예를들어  androidx.swiperefreshlayout  androidx.viewpager과 같이 필요한 라이브러리를 추가함.

그러면 apk에 포함되는 라이브러리(메서드 수) 가 적어서 apk가 경량이 됨.

 

그전의 히스토리를 보면 support v4의 경우 24 버전 전까지는 단일 라이브러리 였음. 

불필요한 기능들까지 apk에 포함되서 apk 용량이 커졌음

이전에 구글 플레이 +  support-v4 + appcompat-v7 가 포함되면 메서드 허용 64K의 75% 이상을 차지했었음

multidex 가 등장하면서 메서드 허용 64 이상되어 문제는 해결했지만 용량이 상당했음.

 

AndroidX는 core를 비롯한 ui 라이브러리들을 추가할 때 버전을 맞출 필요가 없음

support의 경우 버전을 안맞추면 런타임 시 crash가 날 수 있다고 경고가 나옴

 

결론은 AndroidX로 넘어가자.!

 

참고

https://developer.android.com/jetpack/androidx

 

AndroidX 개요  |  Android Developers

AndroidX는 Android 팀이 Jetpack 내에서 라이브러리를 개발, 테스트, 패키징, 버전 관리, 출시하는 데 사용하는 오픈소스 프로젝트입니다. AndroidX는 기존 Android 지원 라이브러리를 크게 개선하여 만들어졌습니다. AndroidX는 지원 라이브러리와 마찬가지로 Android OS와 별도로 배송되며 Android 버전 전체에서 이전 버전과의 호환성을 제공합니다. AndroidX는 동일한 기능과 새로운 라이브러리를 제공하여 지원 라

developer.android.com

 

https://developer.android.com/topic/libraries/support-library?hl=ko

 

지원 라이브러리  |  Android Developers

참고: Android 9.0(API 레벨 28)의 출시와 함께 Jetpack의 일부인 새로운 버전의 지원 라이브러리 AndroidX가 출시됩니다. AndroidX 라이브러리는 기존 지원 라이브러리를 포함하며 최신 Jetpack 구성요소 또한 포함합니다. 지원 라이브러리를 계속 사용할 수 있습니다. 이전 아티팩트(버전 27과 그 이전 버전 및 android.support.*로 패키징된 것)는 Google Maven에서 계속 사용할 수 있습니다. 그러나 모든

developer.android.com

https://medium.com/@jungil.han

 

한로니 – Medium

Read writing from 한로니 on Medium. 컴퓨터 앞에 앉아있는 시간이 많지만 모니터 밖 이야기들, 주로 사람답게 사는 작은 즐거움에 대해서도 관심이 많은 괴발자. 활동적이지는 않지만 어째서인지 자전거를 타고 세계 곳곳을 여행하는 상상을 종종 합니다.🤞.

medium.com

 

Comments