안드로이드 최소 버전 apk 용량 관련 이슈
Android Min Sdk Ver Size Up Issue ~ extractNativeLibs
안드로이드 개발 시 꼭 필요하면서도 어림짐작하면서 설정하는 것이 min version 설정이지 않을까 싶다. 대충 21이지 않을까 싶다. 내 테스트폰이 21인데 게임을 제외하고는 어지간하면 거의다 설치되는 것을 보면 최소버전을 21혹은 그 이하로 맞추어 놓지 않았을까 싶다.
프로젝트를 진행하다 보면,라이브러리에서 지원해주는 sdk가 최소버전 이상에서 작동할 경우 버전 분기를 통해 개발을 할것이다. 이용자 현황을 보고 최소버전의 이용자가 현저히 낮을 경우 소스 정리도 할 겸(버전분기) 최소버전을 올릴 수 있다. 이때, 만일 23이상으로 최소버전을 올리게 된다면 새롭고 작은 경험을 해볼 수 있다.
요즘은 번들로 많이 빌드를 하여, 상관이 없을 수도 있지만, apk로 빌드를 하게 된다면, 갑자기 apk의 용량이 뻥튀기된 현상을 볼 수 있다.
크게는 1.8배 이상 날 수 있다. 내가 경험했다..
apk를 까서 확인해 보면 io파일이나, 라이브러리들의 용량이 증가된걸 확인할 수 있는데, 라이브러리가 갑자기 업데이트 되지도 않았을텐데 용량이 갑자기 늘어났다.
구글링은 해보니 역시 최소버전(min version)23부터는 라이브러리 압축을 지원하지 않아 용량이 늘어날 수 있다고 한다. 역시 구글링.. 그리고 이를 지원해주는 방법도 친절히 구글이 알려주었다.
매니페스트(Manifest)에 android:extractNativeLibs을 true로 셋팅하면 apk로 빌드 시 다시 용량이 줄어든것을 확인할 수 있다. 이것에 대한 공식문서는 developer.android.com/guide/topics/manifest/application-element#extractNativeLibs에서확인할수있다
용량이 줄어든 대신에 apk로 설치하는 시간이 약간 길어진다고 하는데, 체감상 크게 별 차이가 없다. 용량에 민감하다가
android:extractNativeLibs을 사용하도록 하자.